Home Money The eternal truth of sales

The eternal truth of sales

0 comment
The eternal truth of sales

Markdown became a fundamental part of my writing. The simplicity and flexibility meant I would live the dream of writing once and running anywhere. However, it generated some ambiguity. Gruber would probably say this is by design. His emphasis throughout the Markdown documentation is on the Markdown syntax, not, say, the resulting HTML. Your Perl script doesn’t support class names or HTML IDs, for example, so you can’t add them to the generated HTML. According to the logic of the original Markdown script, if you want full control over the HTML output, you will need to write in HTML.

This situation is great for Markdown users: that is, writers. It’s less good for programmers. In fact, it drives them crazy. Programmers don’t like ambiguity. It goes against much of what programming is about. As a writer using Markdown, I love being able to choose the particular version that best suits my needs. As a programmer, I hate that when I build something I have to make the same decision, which then affects everyone who uses my finished product. Maybe I didn’t support some specific extension they expected because they always used the same Markdown parser and assume that feature is available.

If this wasn’t bad enough, there are also some ambiguities in the syntax. For example, asterisks are used for italics when singular (*so*) and bold when duplicated (**so**). So far, so good. But what should happen if you write **like* this**? Should that be represented? like this? Or maybe like this*? There is no way of knowing; whoever writes the parser has to make that decision.

What’s more, unlike most extremely successful code, Markdown is not publicly hosted on the code sharing site of the day. It doesn’t have hundreds of people contributing, and the last time the original Perl script was updated was in 2004. This also bothers programmers. We are a clique group; things outside the clique are viewed with suspicion.

about a decade A while back, there was an effort to disambiguate Markdown and align it with coding dogma. Some programmers got together and created Common brandwhich makes the decisions that the original Markdown script doesn’t and came up with what its creators believe is the only correct way to do it.

CommonMark offered convenience. It’s on Github. It has a discussion forum. It appears to be an active project. Personally, I’ve never incorporated CommonMark into a project, but its parsers are what convert your Markdown to HTML on popular sites like Stack Overflow, Github, and Reddit. (To disambiguate the asterisk, for example, he proposed an underscore for italics and an asterisk for bold.) Presumably, the developers behind CommonMark consider it a success.

But it’s not Markdown. Not in name, and I would say not in spirit.

Around the time the CommonMark effort was underway, software developer Dave Winer told me something I still think about: Markdown belongs to everyone who uses it. This is literally true because of the license. But he also reminded me of the true meaning of free software. We all have a say: using it, adapting it and even forking it.

Whether Gruber thought of it that way or not, Markdown belongs to everyone and there is no standard. I use a very old version of Markdown for Python. Gruber presumably still uses his Perl script. Other people use other versions. It’s messy. It’s ambiguous. Is human.

And this, in the end, is the Way.

You may also like