Trouble with parentheses in Markdown hyperlinks

Michel Fortin michel.fortin at
Fri Oct 19 18:56:10 EDT 2012

Le 2012-10-18 à 22:20, John Gruber <gruber at> a écrit :

> I believe Markdown has thrived and continues to grow because I haven't fucked around with it. The canonical docs are those on Daring Fireball.

The syntax document on Daring Fireball is a good definition of what Markdown is, and of the underlying philosophy. It's a good thing too that the syntax isn't defined in a too restrictive way: this leaves room for extensions and experimentation without breaking the claim that the modified version is still a Markdown implementation. Which means of course that Markdown is everywhere, even though it's not the same Markdown.

Markdown is not defined by its edge cases. But nevertheless those edge cases which differs between implementations are a problem for many people. I doubt very much that you being here on this list from time to time to give an opinion on whether something is a feature or a bug in would impede Markdown's growth in any way. But of course, it's your time and you can spend it elsewhere if you want, and I respect that.

The case that spawned this thread seems to be a bug in your view. I say that because you fixed it in the unreleased 1.0.2b4 version of, which added support for properly nested parens inside URLs. Which is great, except that 1.0.2b4 is an unreleased version from 2005 that not everyone can easily find.

There are in fact two reference versions of Markdown right now -- 1.0.1 and 1.0.2b8 -- exhibiting some differences in behaviours and in features. This is confusing, both for users and for implementers. It's also hard not to think that is abandonware at this point because 1.0.1 was was 8 years ago, and because of the beta left it in an unfinished state.

Despite its unfinished state, I know that 1.0.2b8 is indeed in widespread use. I had a lot of pressure to enable [shortcut-style] links in PHP Markdown a while ago, all that for interoperability with (how ironic!). It's now enabled by default in PHP Markdown [and many other implementations][1].


Still, Markdown is stronger than ever. So perhaps we don't need to change any of that. I guess it's fine if is left to a 8 year old version with unfixed bugs and lacking a feature you introduced yourself in an unfinished beta and that everyone is now using regardless. And I'm not being sarcastic: Markdown's growth doesn't seem impeded at all by that, so why change any of that?

I think Markdown (and is in need for an update. A small one. Like adding shortcut-style links and fixing small bugs like parens in URLs... that'd be useful to many people and it wouldn't impede Markdown's growth in any way. It'll also make the "reference implementation" a slightly more reliable reference, and somewhat more credible. One update every 8 years isn't too many.

But that's indeed not needed for Markdown to thrive indeed, as the past years have shown. Feel free to continue not doing anything and passively watch it take over the world on its own. ;-)

For edge cases and interoperability issues, it probably ought to be someone else's spec. For one thing, you don't seem to have much time or interest for these matters. And also, it's probably better for growth if the official Markdown spec isn't screwed too tightly. This leaves more room for new implementations and experimentation, and more things can thus be called Markdown.

It's good to hear from you on this list John. Please keep doing that.

Michel Fortin
michel.fortin at

More information about the Markdown-Discuss mailing list