Post format reference documentation

Is there any documentation on the official reference format Discourse uses for formatting posts?

Use Markdown or BBCode to format.

I know there’s no official Markdown spec, and the BBCode.org reference documentation leaves much to be desired.

Is there, at least, a list of BBCode tags Discourse supports? (For example, BBCode.org doesn’t document the very useful [spoiler] tag.)

5 Likes

There’s three things to consider.

  1. What Markdown is allowed?
  2. What BBCode is allowed?
  3. What HTML is allowed?

All 3 can be mixed and merged to some extent.

Markdown

Simple: the Markdown implementation is very close to the standard.

http://commonmark.org/help

BBCode

We support a subset of “common” BBCode.

As for what BBCode is supported, the best place to look is the tests (app/assets/javascripts/discourse/tests/unit/lib/pretty-text-test.js), and here’s what I see there:

[b]strong[/b]
[i]emphasis[/i]
[u]underlined[/u]
[s]strikethrough[/s]
[ul][li]option one[/li][/ul]

[quote="eviltrout"][/quote]

[img]http://eviltrout.com/eviltrout.png[/img]
[url]http://bettercallsaul.com[/url]
[email]eviltrout@mailinator.com[/email]
[code]\nx++\n[/code]

Custom BBCode specific to Discourse, needed for functions that don’t fit into Markdown, but do fit into BBCode.

[spoiler]it's a sled[/spoiler]
[quote="eviltrout, post:1, topic:2"]

HTML

Markdown specifies that it works seamlessly with HTML, so we do.

However, we only support a “safe” subset of HTML. I’ll have to dig to find the specifics, but anything common you’d expect to work that isn’t crazy – like <script> – should work.

12 Likes