Dark Dreams of Furiae - a new module for NWN:EE! Buy now
Attention, new and old users! Please read the new rules of conduct for the forums, and we hope you enjoy your stay!

# HTML or BBCode: Which should we use?

• Member Posts: 2,206
HTML
So, yeah, I'd love to see rainbow text go they way of the BLINK tag and the dodo bird.
Why do you hate the dodos? They looked pretty neat imo. Why couldn't the sailors have gone extinct in their place, whoever needed sailors

• Member, Administrator, Moderator, Developer Posts: 22,005
HTML
Flashburn wrote: »
I bet @lolien will be sorely disappointed if the forums get switched to BBCode permanently. Then he won't be able to make as much cool stuff.

Exactly. I will be disappointed too - https://forums.beamdog.com/discussion/comment/688019/#Comment_688019

• Member, Developer Posts: 4,110
edited March 2016
HTML
FinneousPJ wrote: »
I prefer BBCode to avoid both intentional and unintentional problems.
I would just like to clarify something on this—deviating slightly here, but after doing some testing on both HTML and BBCode tags in the editor, on the forum here and on my own local server, it appears that the new editor is much safer when it comes to malformed HTML tags.

Take this, for example. This contains multiple broken lists, a malformed blockquote, an open ended italic tag, an open ended bold tag, a open ended strikethrough, a broken URL, and a broken spoiler (the worst offender in the previous editor). The spoiler is no longer broken into the reactions sections, and nothing appears to go beyond that one post—so in that regard, being parsed, it is essentially the same as BBCode but with more functionality. Broken tags don't seem likely to break the entire forum now. :-)

• Posts: 0
edited March 2016
HTML
The user and all related content has been deleted.

• Member Posts: 1,756
edited March 2016
HTML
My main issue with BBCode is this.

Is there a way to post code under a spoiler tag in a more readable format than the following example ?

DEFINE_ACTION_MACRO er_palm BEGIN
OUTER_SET er_pal1 = 0
OUTER_SET er_pal2 = 0
ACTION_IF FILE_EXISTS_IN_GAME ~MPALETTE.BMP~ BEGIN
COPY_EXISTING ~MPALETTE.BMP~ ~override~
PATCH_IF (SOURCE_SIZE > 0x2437) BEGIN
SET er_pal1 = 1
END
BUT_ONLY_IF_IT_CHANGES
END
ACTION_IF FILE_EXISTS_IN_GAME ~MPAL256.BMP~ BEGIN
COPY_EXISTING ~MPAL256.BMP~ ~override~
PATCH_IF (SOURCE_SIZE > 0x30037) BEGIN
SET er_pal2 = 1
END
BUT_ONLY_IF_IT_CHANGES
END
OUTER_SET er_pal = %er_pal1% && %er_pal2%
END


Edit: now it woks fine.

Post edited by Erg on
• Member Posts: 1,756
HTML
Without the spoiler tag the same code looks like this:
DEFINE_ACTION_MACRO er_palm BEGIN
OUTER_SET er_pal1 = 0
OUTER_SET er_pal2 = 0
ACTION_IF FILE_EXISTS_IN_GAME ~MPALETTE.BMP~ BEGIN
COPY_EXISTING ~MPALETTE.BMP~ ~override~
PATCH_IF (SOURCE_SIZE > 0x2437) BEGIN
SET er_pal1 = 1
END
BUT_ONLY_IF_IT_CHANGES
END
ACTION_IF FILE_EXISTS_IN_GAME ~MPAL256.BMP~ BEGIN
COPY_EXISTING ~MPAL256.BMP~ ~override~
PATCH_IF (SOURCE_SIZE > 0x30037) BEGIN
SET er_pal2 = 1
END
BUT_ONLY_IF_IT_CHANGES
END
OUTER_SET er_pal = %er_pal1% && %er_pal2%
END


• Member Posts: 1,756
edited March 2016
HTML
spoiler
somewhere else in the same post, you get this
DEFINE_ACTION_MACRO er_palm BEGIN
OUTER_SET er_pal1 = 0
OUTER_SET er_pal2 = 0
ACTION_IF FILE_EXISTS_IN_GAME ~MPALETTE.BMP~ BEGIN
COPY_EXISTING ~MPALETTE.BMP~ ~override~
PATCH_IF (SOURCE_SIZE > 0x2437) BEGIN
SET er_pal1 = 1
END
BUT_ONLY_IF_IT_CHANGES
END
ACTION_IF FILE_EXISTS_IN_GAME ~MPAL256.BMP~ BEGIN
COPY_EXISTING ~MPAL256.BMP~ ~override~
PATCH_IF (SOURCE_SIZE > 0x30037) BEGIN
SET er_pal2 = 1
END
BUT_ONLY_IF_IT_CHANGES
END
OUTER_SET er_pal = %er_pal1% && %er_pal2%
END


It's driving me crazy

Edit: now it works fine.

Post edited by Erg on
• Member Posts: 1,376
BBCode
Shandyr wrote: »
Here's a link where someone claims that cross-site scripting still works with BBCode:
http://blog.kotowicz.net/2010/09/bbcode-wont-protect-you-from-xss.html

Here's a link that says the choice actually doesn't matter:

BBcode won't protect you from XSS when done wrong, yes. If you use an insecure and outdated parser, then yes, no matter what you do, you'll be vulnerable.

And your second link is only right if you whitelist parse the HTML code, in which case, HTML doesn't allow you to do anymore than BBcode does, in which case, HTML doesn't provide you with any benefits over BBcode.

BBcode is simpler and easier than HTML code to understand. You don't have to worry about <p> and <br> tags, and the BBcode tags are actually designed to be efficient for forum posts.

BBcode is a standard for forums. You'll find the vast majority of forums around the web support BBcode, so people are much more likely to already be familiar with BBcode, than with HTML code.

The rest is a wash. HTML code allows more, if you allow it to allow more, which in turn makes it more insecure. If you use a solid parser for both BBcode and HTML, their options and security levels are roughly the same.

• Posts: 0
edited March 2016
HTML
The user and all related content has been deleted.

• Member, Developer Posts: 4,110
HTML
Thels wrote: »
And your second link is only right if you whitelist parse the HTML code, in which case, HTML doesn't allow you to do anymore than BBcode does, in which case, HTML doesn't provide you with any benefits over BBcode.
The only parsing that remains are safe attributes such as styles. Broken or malformed tags are disregarded for the most part. Script events are removed for both BBCode and HTML. BBCode and HTML both have pretty decent parsers on the forum now.

Realistically, after doing some testing, the choice is "more functionality" vs. "less functionality."

BBCode style tags do not work here.

[style color=#FF0000]Red Text[/style]

Nor do tables, apparently.

table 1
table 2

table 3
table 4

Thels wrote: »
BBcode is simpler and easier than HTML code to understand. You don't have to worry about <p> and <br> tags, and the BBcode tags are actually designed to be efficient for forum posts.
You don't have to worry about paragraph tags or linebreaks with the HTML text editor, that was only applicable in the WYSIWYG editor.

• Posts: 0
HTML
The user and all related content has been deleted.

• Member Posts: 944
edited March 2016
HTML
How to draw the line in BBCode ?
This doesn't work.
[hr][/hr]
[hr /]


Also, what AstroBryGuy said about latex. Could you add plugin for tex syntax?
We could write formulas easier to read.
$$x^2 \cdot x^3$$


• Member Posts: 10,447
I'll remove the link, if only to cut short this absurd theory of conspiracy and manipulation. (That link is taken directly from the wikipedia page on BBCode, by the way, and offered only as a shorthand explanation of what BBCode is and why a lot of sites use it.)

The difference between BBCode and HTML, primarily, is one of syntax.

HTML:
Bold: <b>
Italic: <i>
Spoiler: <div class ="Spoiler">
Red Color Text: <font color=red>
Code Block: <pre>

BBCode:
Bold: [b]
Italic: [i]
Spoiler: [ spoiler]
Red Color Text: [font color=red]
Code Block: [code]


BBCode is generally shorter, because that's how it's designed. That means for the average user it's easier to add quick formatting--especially on this site, where we request that people use spoiler tags when talking about plot-sensitive information. If there are codes that people want that don't currently work, there's a good chance we can request them from Vanilla; the disadvantage is that not everything from HTML is going to work "out of the box".

The HTML editor is closer to "real" HTML, which @Troodon80 outlined above (though with a bit more bias than I'd prefer from the Beamdog team...). You don't have to use <br> or <p>, but you do have to familiarize yourself with <div> and <blockquote>.

So the choice, here, is basically:
• More freedom to play with "real" web code and do more advanced formatting and styling (some of which is good, some of which is not), but with more complex syntax to remember for everyday posting
• Simpler syntax to remember for everyday posting, but less freedom to play with "real" webcode and do more advanced formatting and styling (which again can be both good and bad)

Both choices use the formatting pane; both choices are going to have bugs that we'll have to work with Vanilla to address. Both choices are "secure", and won't risk breaking the site's layout. The question is one of taste, which is why the poll is important.

Sigh... Going to remove that link now. I'll try to find one that's a little less "Why BBCode is better", and a little more "Here's the differences between HTML and BBCode".

• Member Posts: 10,447
Erg wrote: »
My main issue with BBCode is this.

Is there a way to post code under a spoiler tag in a more readable format than the following example ?

DEFINE_ACTION_MACRO er_palm BEGIN
OUTER_SET er_pal1 = 0
OUTER_SET er_pal2 = 0
ACTION_IF FILE_EXISTS_IN_GAME ~MPALETTE.BMP~ BEGIN
COPY_EXISTING ~MPALETTE.BMP~ ~override~
PATCH_IF (SOURCE_SIZE > 0x2437) BEGIN
SET er_pal1 = 1
END
BUT_ONLY_IF_IT_CHANGES
END
ACTION_IF FILE_EXISTS_IN_GAME ~MPAL256.BMP~ BEGIN
COPY_EXISTING ~MPAL256.BMP~ ~override~
PATCH_IF (SOURCE_SIZE > 0x30037) BEGIN
SET er_pal2 = 1
END
BUT_ONLY_IF_IT_CHANGES
END
OUTER_SET er_pal = %er_pal1% && %er_pal2%
END


That's definitely something we can report to Vanilla; it's bugging me too, although I don't know if it's specific to BBCode.

• Member, Developer Posts: 4,110
HTML
Shandyr wrote: »
It's like @Dee is asking us "Do you want more options or less options?"
@Shandyr, to some degree that is the question, and it's perfectly valid. That in no way makes HTML better for this forum, though. And BBCode is the standard for most forums.

"More functionality" versus "less functionality," this doesn't mean "better" or "worse." BBCode is great in that it's simple and easy to use, it lacks some complexity (though, like HTML, it can still be error-prone if the parser isn't done right), it has a slightly better 'form' to it.

[spoiler]Text[/spoiler] versus <div class="Spoiler">Text</div>

As others have rightly pointed out, a forum is a place to discuss things—it's not a web publishing suite.

In comparison to HTML vs BBCode in "more" vs "less"—If I want to develop something in C++, then I don't need C# and VB.NET compilers as well. Though, as the HTML side has said, it's "nice to have the option." Ideally, it'd be nice to have both BBCode and HTML, but that isn't an option.

And yes, @Dee, I am a little biased towards liking HTML (I've spent a long time the How To Format Your Posts topic). :P

• Member Posts: 1,376
edited March 2016
BBCode
Troodon80 wrote: »
You don't have to worry about paragraph tags or linebreaks with the HTML text editor, that was only applicable in the WYSIWYG editor.

Ohh... In that case, I really don't mind as much which of BBcode and HTML is used... I do still think that BBcode is slightly more userfriendly.

I also never actually claimed that on this forum, under the current settings, BBcode and HTML are identical in both features and security. I haven't thoroughly tested the functionality available of either option.

@Dee: Do you have a list of the possible BBcodes available on this forum? There's a link underneath my post about BBcode, but it goes to a general wiki, not a Vanilla Forums related one, so it's unclear if all listed options are available, as well as it being unclear if there are any other options available that we don't know about.

It may also help to have a list of all the tags that can be used in the HTML option. If there are a lot of options that are supported by the HTML option, but not the BBcode option, it may be worth reconsidering.

Let me at least test their available examples:

bolded text

italicized text

underlined text

strikethrough text

http://example.org

Example

Thels wrote:
quoted text
monospaced text


[style size="20px"]Large Text - style px[/style]

[style size=4]Large Text - style[/style]

Large Text - size px

Large Text - size

[style color="red"]Red Text - style[/style]

[style color=#FF0000]Red Text - style hex[/style]

Red Text - color

Red Text - color hex
• Entry 1
• Entry 2
*Entry 1 *Entry 2

table 1
table 2

table 3
table 4

And there are some we can find in the menu above:
1. Entry 1
2. Entry 2
Quoted text
Spoiler text
Spoiler text with title
Left aligned text
Centered text
Right alined text

• Member Posts: 1,376
edited March 2016
BBCode
Style doesn't work (honestly, I'm not surprised, BBcode is about keeping it simple, and you don't need styles for that. However, you can do colors (using color names or hex) just fine, as well as font sizes, though the sizes only allow for certain presets. Let's test them out:

This is size 0
This is size 1
This is size 2
This is size 3
This is size 4
This is size 5
This is size 6
This is size 7
This is size 8
This is size 9

Tables seems to be the only one that doesn't work besides Styles. Spoilers also seem unable to hold titles.

Lists need the new entry tag to work, but that should be fine. Lists require an =1 to use numbers rather than dots, which is also fine. Let's see if there's more options for that as well.
• List without type.
• Second entry.
• Third entry.

[list=0]
[*] List type 0.
[*] Second entry.
[*] Third entry.
[/list]
1. List type 1.
2. Second entry.
3. Third entry.

[list=2]
[*] List type 2.
[*] Second entry.
[*] Third entry.
[/list]
1. List type a.
2. Second entry.
3. Third entry.

[list=b]
[*] List type b.
[*] Second entry.
[*] Third entry.
[/list]
1. List type A.
2. Second entry.
3. Third entry.

[list=B]
[*] List type B.
[*] Second entry.
[*] Third entry.
[/list]

• Member Posts: 1,376
BBCode
So the "size" tag can use parameters from 0 to 7. To get them to work, remove the space before size:

[ size=0]This is size 0[/size]
[ size=1]This is size 1[/size]
[ size=2]This is size 2[/size]
[ size=3]This is size 3[/size]
[ size=4]This is size 4[/size]
[ size=5]This is size 5[/size]
[ size=6]This is size 6[/size]
[ size=7]This is size 7[/size]

• Member Posts: 10,447
edited March 2016
[ font] works too. So if you happen to be a big fan of Garamond, you can totally change your font to Garamond.

(Although a note--if you set it to a font that only exists on your computer, the font won't show up for anyone else. Case in point, if you don't have Zapfino, then the rest of this post probably won't look as fancy to you as it does to me.)

• Member Posts: 3,126
edited March 2016
BBCode
@Thels Your list is pretty much complete, but I'd like to summarize it in a more structured way (based on what is coded in the BBCode plugin).

What does work:
[ b ]Bold text[ /b ]: Bold text

[ i ]Italic text[ /i ]: Italic text

[ u ]Underlined text[ /u ]: Underlined text

[ s ]Strikethrough text[ /s ]: Strikethrough text

[ font=serif ]Predefined font: serif[ /font ]: Predefined font: serif
[ font=sans-serif ]Predefined font: sans-serif[ /font ]: Predefined font: sans-serif
[ font=cursive ]Predefined font: cursive[ /font ]: Predefined font: cursive
[ font=fantasy ]Predefined font: fantasy[ /font ]: Predefined font: fantasy
[ font=monospace ]Predefined font: monospace[ /font ]: Predefined font: monospace
[ font=Garamond ]User-defined font: Garamond[ /font ]: User-defined font: Garamond

[ color=green ]Predefined colors: green[ /color ]: Predefined colors: green
[ color=#FF7F00 ]User-defined colors: #FF7F00[ /color ]: User-defined colors: #FF7F00

[ size=0 ]Text size 0[ /size ]: Text size 0
[ size=1 ]Text size 1[ /size ]: Text size 1
[ size=2 ]Text size 2[ /size ]: Text size 2
[ size=3 ]Text size 3[ /size ]: Text size 3
[ size=4 ]Text size 4[ /size ]: Text size 4
[ size=5 ]Text size 5[ /size ]: Text size 5
[ size=6 ]Text size 6[ /size ]: Text size 6
[ size=7 ]Text size 7[ /size ]: Text size 7

[ acronym="An acronym tag" ]AAT[ /acronym ]: AAT

[ email ]email @ test.test[ /email ]: [email protected]

[ img ]https: //s3.amazonaws.com/www.baldursgate.com/img/beamdog.png[ /img ]:

Horizontal rule [ rule ]:

Forced[ br ]line break:
Forced
line break:

[ center ]Centered text[ /center ]:
Centered text

[ left ]Left text[ /left ]:
Left text

[ right ]Right text[ /right ]:
Right text

[ indent ]Indented text[ /indent ]:
Indented text

[ code ]Text in code style[ /code ]:
Text in code style


[ quote ]Quoted text[ /quote ]:
Quoted text
[ quote="argent77" ]Quoted text with reference to user[ /quote ]:
argent77 wrote:
Quoted text with reference to user
[ quote="argent77;723821" ]Quoted text with reference to specific post[ /quote ]:
argent77 wrote: »
Quoted text with reference to specific post

[ list ]
[ * ]Unordered list 1
[ * ]Unordered list 2
[ /list ]
• Unordered list 1
• Unordered list 2

[ list=1 ]
[ * ]Ordered list 1
[ * ]Ordered list 2
[ /list ]
1. Ordered list 1
2. Ordered list 2

[ list ]
[ * ]Unordered list 1:
[ list ]
[ * ]Nested entry 1
[ * ]Nested entry 2
[ /list ]
[ * ]Unordered list 2
[ /list ]
• Unordered list 1:
• Nested list 1
• Nested list 2
• Unordered list 2

What does not (yet) work even though the code exists within the latest version of the BBCode plugin:
• unordered list styles: circle, disk, square
• ordered list styles: decimal-leading-zero, lower-roman, upper-roman, lower-alpha, upper-alpha, greek, armenian, georgian
• The keywords "columns" and "nextcol" are supposed to create table structures, but I haven't figured out yet how to use them correctly.

• Member Posts: 484
edited March 2016
BBCode
Shandyr wrote: »
Here's a link that says the choice actually doesn't matter:

Can you demonstrate some of the exploits mentioned in the ELI5 post?

• Posts: 0
HTML
The user and all related content has been deleted.

• Posts: 0
HTML
The user and all related content has been deleted.

• Member Posts: 3,415
edited March 2016
BBCode
Erg wrote: »
My main issue with BBCode is this.

Is there a way to post code under a spoiler tag in a more readable format than the following example ?

DEFINE_ACTION_MACRO er_palm BEGIN
OUTER_SET er_pal1 = 0
OUTER_SET er_pal2 = 0
ACTION_IF FILE_EXISTS_IN_GAME ~MPALETTE.BMP~ BEGIN
COPY_EXISTING ~MPALETTE.BMP~ ~override~
PATCH_IF (SOURCE_SIZE > 0x2437) BEGIN
SET er_pal1 = 1
END
BUT_ONLY_IF_IT_CHANGES
END
ACTION_IF FILE_EXISTS_IN_GAME ~MPAL256.BMP~ BEGIN
COPY_EXISTING ~MPAL256.BMP~ ~override~
PATCH_IF (SOURCE_SIZE > 0x30037) BEGIN
SET er_pal2 = 1
END
BUT_ONLY_IF_IT_CHANGES
END
OUTER_SET er_pal = %er_pal1% && %er_pal2%
END


Thank you for illustrating another issue with colored text. It can be hard to read on mobile.

All I can read is "Is there a way to post code under a spoiler tag in a SOMETHING YELLOW format than the following example ?"

• Member Posts: 10,447
edited March 2016
@Shandyr Correct. The fact that the advanced editor fixes a lot of the issues we've had in the past makes it more open to discussion.

The problem we're facing is that, before, we had HTML but with BBCode syntax for spoiler-buttons. The new HTML format doesn't support BBCode at all, which means that it makes it more cumbersome (potentially) for average users to spoiler-tag the content that they need to be able to tag. Compare them side-by-side (brackets omitted):
• div class="Spoiler"
• spoiler
(Yes, the formatting bar helps with that, but it's still more of a chore than it was before, which isn't necessarily fair to the average user.)

The BBCode editor, meanwhile, supports the code for spoiler-buttons that we've all gotten used to, but it doesn't support HTML, which means that if you've gotten used to typing <i> for italics, it'll be an adjustment. Conversely, it also makes it simpler to quote users consistently by shortening the code required to do it. Again, compare:

That's what BBCode is designed for: not to make things more secure, but to make things easier for users to quickly format their posts the way they want to. It does that by taking away most of the keys that HTML gives you. For most users, that doesn't affect you at all. For some, it can feel a bit like having your arms shortened.

Post edited by Dee on
• Member Posts: 1,376
BBCode
@argent77 It wasn't my plan for that post to become a tutorial of kinds, but more to check for myself which tags worked. Seems you caught a bunch that I didn't, though you forgot about Spoiler, which is ironic, as you placed it in a spoiler tag.
 Leftmost column. He we talk about Banana Icecream! Sorta left column. Let's discuss the effect of a rain of frogs on the local fauna. Middle column. Sorta right column. Why does a chicken want to cross the road? Rightmost column. Seems this whole column thing is working sort of ok, though there doesn't seem to be a big gap between the columns, which could make it annoying where one column ends and the next one starts.

Anyhow, to make columns, first use the [ columns] tag, and start typing out the contents of the leftmost column. Then use the [ nextcol] tag to add a column to the right, and fill out that column's information. You can repeat the [ nextcol] tag for each column you need beyond the first. When you're done, close the entire entry with [ /columns]. You don't close the individual columns.

• Member Posts: 637
edited March 2016
BBCode
Dee wrote: »
@Shandyr Correct. The fact that the advanced editor fixes a lot of the issues we've had in the past makes it more open to discussion.

The problem we're facing is that, before, we had HTML but with BBCode syntax for spoiler-buttons. The new Advanced Editor doesn't support BBCode at all, which means that the new Advanced Editor makes it more cumbersome (potentially) for average users to spoiler-tag the content that they need to be able to tag.

(Yes, the formatting bar helps with that, but it's still more of a chore than it was before, which isn't necessarily fair to the average user.)

The BBCode editor, meanwhile, supports the code for spoiler-buttons that we've all gotten used to, but it doesn't support HTML, which means that if you've gotten used to typing <i> for italics, it'll be an adjustment. Conversely, it also makes it simpler to quote users consistently by shortening the code required to do it.

That's what BBCode is designed for: not to make things more secure, but to make things easier for users to quickly format their posts the way they want to. It does that by taking away most of the keys that HTML gives you. For most users, that doesn't affect you at all. For some, it can feel a bit like having your arms shortened.

Another example:
[quote="Franpa"]Example Message[/quote]

<blockquote class="Quote">
<div><a target="_blank" rel="nofollow">Franpa</a> said:</div>
<div>message
</blockquote>
<br>


I assume the <div>'s are to apply indentation?

Post edited by Franpa on
• Member Posts: 1,756
HTML
All I can read is "Is there a way to post code under a spoiler tag in a SOMETHING YELLOW format than the following example ?"

@AstroBryGuy, thanks. Fixed:
Erg wrote: »
Is there a way to post code under a spoiler tag in a more readable format than the following example ?

• Posts: 0
edited March 2016
HTML
The user and all related content has been deleted.

• Member Posts: 1,055
BBCode
Aims a Rainbow Arrow at BBCode for the win!

This discussion has been closed.