Maruku: a better Markdown interpreter for Ruby.

Andrea Censi andrea at
Sat Dec 30 06:24:33 EST 2006

On 12/28/06, John Gruber <gruber at> wrote:

> If you're going to support syntax extensions like PHP Markdown

> Extra's and MultiMarkdown's, you shouldn't call Maruku a Markdown

> interpreter. By default, "Markdown" should mean Markdown. I know

> there are a few features that I haven't yet officially added which

> almost everyone (including me) wants, especially tables. And I

> know it's been a long time since Markdown 1.0 shipped.


> But there's a huge benefit to having "Markdown", as a syntax, be

> as consistent as possible across implementations. Someone who

> knows Markdown shouldn't have to worry about "which" Markdown

> implementation they're using.


> In Maruku's case, I would prefer to see its default mode translate

> only the official Markdown syntax, and to handle its syntax

> additions as options.

I don't agree. I would agree if I Maruku was called "Markdown.rb":
that way one would expect an output identical to

Neither I want Maruku to be 100% compatible - bug by bug - with
Bluecloth (nor I want's bugs).

So I think that, as long appropriate notices are given in the
documentation, it's OK for Maruku to act like it does. I'll clarify
all these aspects in Maruku's documentation. It's OK for me to change
the tag-line "Maruku: a Markdown interpreter" to "Maruku: a
Markdown-superset interpreter" or something similar (by any other
name, it would work as sweet).

As Michel said, it is quite problematic to have your implementation
disable some features in a configurable way, and I think that anyway
it's not worth it. A user can write his Markdown 1.0 document and
Maruku will give her just the output she expects: advanced features
are hard to trigger unintentionally .

Again, I understand you concern that all Markdown implementations
should give the same results. But at the moment, and I think that is
not only my opinion, the Markdown specification has a lot of holes. So
even if wanted, I could not make Maruku "Markdown 1.0 compatible".

I promise one thing: if Markdown2 will be released with a decent set
of features (tables, footnotes, definition lists, metadata) and a
clear documentation (if it's not a formal grammar, at least an
unambiguous specification), then Maruku will be Markdown2-canonical as
its primary mode of operation.

>But there's a huge benefit to having "Markdown", as a syntax, be

>as consistent as possible across implementations.

I would just say:
"there's a huge benefit to having Markdown as a syntax"


Andrea Censi
"Life is too important to be taken seriously" (Oscar Wilde)

More information about the Markdown-Discuss mailing list