💾 Archived View for idiomdrottning.org › markdown-good captured on 2022-06-11 at 21:57:26. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2021-12-09)

➡️ Next capture (2023-04-19)

🚧 View Differences

-=-=-=-=-=-=-

I love Markdown (was RE: Why Markdown sucks)

Continuing a debate from

Why Markdown Sucks

Source Languages vs Export Languages

I love Markdown as a source language. It really meshes well with how I want to write ASCII text from growing up with 90s email conventions.

I recently switched our internal D&D group’s campaign wiki over to Markdown and I immediately saw a huge rise in contribution, both quantity and quality. It’s just becoming sort of a lingua franca.

As so many lingua francas, yes, there is not one standard way to parse it. Just like natural language. It’s not a good internet protocol language, that is to say, it’s not a good exchange format language. It’s also not a good for-print–language. But it’s a nice language for me to cozily edit in. Just like my editor settings don’t need to affect you, neither does my Markdown settings need to concern you because you’re reading it exported in some other format.

I use Markdown because it matches the way I think about the text. Before Markdown I used a lot of other similar markup languages; the UseMod wiki syntax for wiki stuff and for documents I would usually just have a sed script with some regexes custom to each document. It sucked. I’ve also used Textile, another awful language because it’s so fiddly to get everything right. The problem with all those other languages is that with them, I get into the habit of constantly previewing, previewing, previewing.

With Markdown, I can focus on the text itself. Write it, read it, edit it, read it, rewrite it, be done with it, export it, and then maybe go over checking if something weird happened or if the PDF has too many orphans or w/e.

That is Markdown’s purpose. To be a shortcut template thing to save me from becoming the human compiler at work.

To address some specific issues:

Bouncepaw wrote:

**md: **sucks

The original Markdown is even weirder:

<p><em>*mark: *</em>down</p>

While **mark:** down becomes

<p><strong>mark:</strong> down</p>

A bug probably.

Just use a Markdown version that has the semantics you like to get the output you need.

Using Markdown as if it were a protocol language or exchange format is what sucks. Just use it as a tool for yourself to quickly generate data for a more robust format.

The complaint is that Markdown implementations are inconsistent and give different results on the same input when converting. That’s to be expected since that wasn’t a design priority for the weird adhocy evolutionary tree of Markdown implementations that spawned.

So the conclusion is…

It’s not meant for Alice to write Markdown and then expect Bob to convert it with his converter when Alice isn’t even sure of what converter Bob will choose to use that day. It’s not a “protocol language” in that sense.

It excels at being a readable language in it’s own right. Markdown documents come across as unadorned, plain text, just straight forward readable prose.

Markdown is the new Word 5.1

Why we don’t write HTML by hand

Perplexing Space wrote here:

RE: Why Markdown Sucks

I really do think HTML has been unfairly discounted in the last ~15 years. After being poorly extended and ill-maintained it was declared unfit for writing applications when the original design was for writing documents.

I couldn’t stand this “human compiler at work” mentality if it were me. Me typing out <p> a thousand times when I could just leave a couple of blank lines isn’t a good use of anybody’s time.

Markdown’s willingness to yes, include inline HTML instead of like textile trying to encompass all of HTML in a difficult-to-remember custom syntax was a genius move by Gruber. The ultra-boring, hate-doing-it-by-hand parts of HTML, Markdown can generate. Easy things like paragraphs and lists.

Who in the heck would write a web application in Markdown? It can’t generate divs or JavaScript for you! It is a document format and that’s it.

The link syntax is wonky and was difficult for me to learn (it appears backwards compared to a href or the old UseMod/Wikimedia syntax) but the upside is that, especially with reference links, the document becomes readable as-is to me. Great, since I’m the one that needs to read it and re-read it as I’m editing it over the years.

unfit for writing applications when the original design was for writing documents

How in the heck is this even applicable to Markdown?

Markdown isn’t an all-encompassing language and can’t be used to write applications, it’s just for the simplest of simple documents, but you can inline stuff from the target language (HTML usually).

Ideally, it makes the simple stuff super simple and the difficult stuff no more difficult than it is in the target language.

Alternatives to Markdown

Going back to Bouncepaw, who suggested

Restructured text, Asciidoc, Creole

Now, RST sucks unless you use monospaced font. It’s a finicky language that I absolutely hate using; whenever I have to deal with it I write Markdown and then export to RST via pandoc.

AsciiDoc clobbers apostrophes so that’s out.

Creole is fine. I like Markdown just a little bit better but for some pretty minor reasons:

I don’t really get along with the //syntax// for italics (which, yeah, org-mode and DokuWiki also uses. And is a constant source of errors for me when I am using them because I expect a simple *asterisk pair* to do what I mean).

And, similar to Markdown, Creole uses em and strong instead of what I would’ve wanted, i and b.

I don’t think Creole is exceptional compared to all the other languages in this family. It’s not a shared subset of all wiki syntaxes since Creole’s header syntax is exactly backwards compared to DokuWiki’s, for example.

Follow up to the follow up

Bouncepaw adds:

And also very unsafe.

Oh wow yes! Do not use it as a protocol language.♥

Adiabatic wrote on the Scrawlspace (which is not permanent so no link):

So, yeah. Kinda not awful if you have loads of modern tools close at hand.

What I like about Markdown is that the document looks readable (to me). It has some of the pros and cons of wysiwyg. I switched to Linux in my teens and there were no word processors so it was an endless string of markup languages; LaTeX, ConTeXt, UseMod…

Going to Markdown was a little bit like having a word processor again. I only have to focus on the text. Then later I can do a couple of line of regexes and such to add in sections and headers or CSS or whatever.

See also

Role of Gemini Text

degrowther has a great summary of this post