Styling Markdown approaches

Waylan Limberg waylan at
Sat Apr 20 18:05:52 EDT 2013

I think the syntax rules regarding raw html [1] shed some light on this issue:

> Markdown is not a replacement for HTML, or even close

> to it. Its syntax is very small, corresponding only to a very

> small subset of HTML tags. The idea is not to create a

> syntax that makes it easier to insert HTML tags. In my

> opinion, HTML tags are already easy to insert. The idea

> for Markdown is to make it easy to read, write, and edit

> prose. HTML is a publishing format; Markdown is a writing

> format. Thus, Markdown’s formatting syntax only addresses

> issues that can be conveyed in plain text.


> For any markup that is not covered by Markdown’s syntax,

> you simply use HTML itself. There’s no need to preface it

> or delimit it to indicate that you’re switching from Markdown

> to HTML; you just use the tags.

In other words, if you want a *publishing* format, use raw HTML. If
you want to wrap some text in a div to add styling hooks, fine. But if
you want to format the contents of that div, then use HTML for that
also. After all, "Markdown is not a replacement for HTML."

Yes, some markdown implementations have added some optional extras,
but those extras generally fit into the philosophy quoted above (see
definition lists). That said, I have seen some pretty horrid requests
for extending the syntax as the maintainer of the Python-Markdown
project (which has an extensive API for writing extensions). While I
agree that user defined extensions are an appropriate way to go, one
should always be careful when introducing new syntax. John
MacFarlane's FAQ [2] is evidence of that.


\X/ /-\ `/ |_ /-\ |\|
Waylan Limberg

More information about the Markdown-Discuss mailing list