Live data from Hacker News

How Markdown took over the world

anildash.com

171–180 of 353 posts

Re: How Markdown took over the world

#171
post #56

Sound write-up. It is missing the #1 reason I like it though - it's fundamentally text. No format/vendor lock-in and very amenable to living in a git repo. For my note taking that's already game over right there against everything else. I don't want to worry about whatever cursed format OneNote uses is still something I can extract in 2035. I also like that it's become a defacto standard that LLMs speak. I can tell i…

It's fundamentally ok-ishly looking text. I think that is the biggest reason why Markdown doesn't support table. There are alternatives that do (e.g. wikitext) but they didn't get as popular as Markdown. Why? Perhaps it's because that tables will never really look fine in pure text no matter how clever your syntax is.

Sorry but I don't understand

Isn't this a table?

    |sn|name|
    |--|--|
    |1|George|
    |2|John|
I feel like I've been doing this at least since about 2013?

Edit: I get it now. It was not a part of the original spec.

    |sn|name  |
    |--|------|
    | 1|George|
    | 2|John  |
It can look better if we use fixed width font and add padding I guess?

Re: How Markdown took over the world

#172

Earlier quoted context omitted.

Except there's a massive lack of Markdown VIEWERS. You find MD files in every open-source project and lots of other places, but almost no viewers that render them as intended. So you wind up looking at them as plain text, with a bunch of formatting characters in them. What's the point, then? Only just now has Windows Notepad been revised to render Markdown (I think it does now, anyway). And after searching for a Mac…

There's loads of markdown viewers, you just don't identify them as that. Try copying some markdown into these places: - A reddit comment - Microsoft Teams - Slack - Whatsapp - Discord - Google Docs - Discord - Notion - Facebook Messenger (although only on desktop I think) Etc.

Matrix, Discourse. I wish that Signal supported it though.

Re: How Markdown took over the world

#173

The author of CommonMark and Pandoc has a new format called Djot: https://djot.net/ that I've been meaning to check out. Supposedly more sane to parse, and it comes from someone who would definitely know about that sort of thing.

Djot is great. I use it in my project ( client for https://timbran.org/moor.html ). It has all that I needed from markdown without any excess, and it's safe and easy to parse and familiar to people.

Without the excess? From the site:

> Straight double quotes (") and single quotes (') are parsed as curly quotes

I don't know who actually likes curly quotes, they are clearly excess to me. And as parsing sometimes fails (as the site says it may), you get inconsistent results, and failures stick out like a sore thumb.

Here is another syntax: this is . Very unlikely to clash, can be vibe coded in an hour. But it's more of the same.

Re: How Markdown took over the world

#175
The history told here has many errors and omissions and, I would say, paints a misleading picture.

Markdown did not come up with the idea of lightweight markup languages (LMLs). It just happened to become the most popular one, for reasons that the article doesn’t really address. There were other LMLs before and after Markdown. (It does mention Textile later on, but doesn’t mention that there were a number of others, and that it was a field that had been steadily developing.)

> What if you could just write out the text and then the link, sort of like you might within an email? Like: [Anil Dash’s blog](https://anildash.com)!

No one would ever have spelled it like that. It would rather have been either “Anil Dash’s blog (https://anildash.com)” or “Anil Dash’s blog https://anildash.com>”.

> If mark_up_ is complicated, then the opposite of that complexity must be… markd_own_.

I’m guessing this was intended to have actual italics. (Clearly it wasn’t checked after writing, or else the third underscore would have been shifted before the d.) This shows one of the problems of Markdown. (“_anti_commercial” later has the same problem.) Also why you should prefer * for italics rather than _ when writing Markdown, because in CommonMark it allows you to mark up partial words. Throw away Prettier’s Markdown formatting, by the way, it’s terrible and if you’re not careful may destroy your content, and it insists on underscore for italics.

> Hitting the Mark

> [Stuff about Markdown becoming supported by Google Docs, Microsoft Notepad, Slack, WhatsApp, Discord, Apple Notes.]

A lot of this is wrong:

• What most of them have added is an input mode for their WYSIWYG editor which is best expressed as inspired by Markdown. If you want to actually deal in Markdown, they are always infuriatingly incomplete and incompatible. At best (and it’s never even that good) you’re only typing Markdown, not editing Markdown.

• What most of the rest of them have is a lightweight markup language only superficially similar to Markdown. Slack’s mrkdwn and WhatsApp’s formatting are this.

> The Ten Technical Reasons Markdown Won

I’ll grant 1 as valid but non-technical. 2 as valid for Markdown and less valid for other LMLs for reasons that I’ll get into shortly. 3 as valid for Markdown but also some other LMLs that already existed. 4 as valid and somewhat technical. 5 I won’t grant as distinct from 4. 6… well, the key there is actually that correctness isn’t as important as some of us would like. The flavours part of it was more a building up of technical debt. 7, 8, 9 and 10 I will not grant as reasons that Markdown won—several other LMLs already existed with the same benefits.

But it really misses out on the big reason, though 2 and 6 nudge on it:

Markdown won because it was simple, and extended HTML. It was horribly underspecified and all early implementations were all awfully buggy, inconsistent and incompatible, but it was simple and we didn’t care so much about those problems in those days (for better or for worse). People could implement Markdown themselves in an hour or two.

Nowadays, people familiar with Markdown will look baffled at some of reStructuredText’s syntaxes, but at the time I’d say Markdown and reStructuredText were similarly weird, just in different areas. When getting away from things like BBCode which was almost just HTML with square brackets, and Textile which had more idiosyncratic spellings (I mean things like “bq. ” where email had “> ” on every line), reStructuredText and Markdown were about equal.

reStructuredText is way more technically sound. It’s more capable than Markdown, and there’s none of the wild and incompatible fragmentation. But reStructuredText is heavy to implement, and if you only care about outputting HTML and only for yourself, it’s actually harder to extend—you’ll have to define a node type and extend the writer to know what to do with it, or else use the “raw” directive or role. Whereas with Markdown, you just wrote HTML and hoped for the best. Because Markdown was such a mess. But you’d get it right faster than in reStructuredText.

It’s no coincidence that there’s only one major implementation of each of reStructuredText and AsciiDoc, and only three or four total for each. They were designed for bigger, heavier things. Markdown was designed for simplicity at the cost of correctness… just like HTML was.

Re: How Markdown took over the world

#176
post #51
post #25

Earlier quoted context omitted.

Let's not forget org-mode.

I think about this often as an org mode user who uses it exclusively for journaling with none of the GTD features. Org mode was released before markdown by over a year, but never saw the uptake like markdown did, despite being a more featureful syntax. I think that's because org mode was originally a GTD framework for emacs, and the syntax of org files was incidental to doing GTD in plaintext. It didn't get populariz…

Same team! Also an orgmode user who uses it for all things longform... A decade+ and counting. Only recently do I see need to start adopting TODOs because work and life tasks are threatening to go beyond the capacity of my normie calendar and paper lists coping mechanisms.

Orgmode text is fairly well supported now, across a plethora of non-Emacs apps and editors. I've enumerated several in my post [0].

Quoting oneself...

> But seriously, Emacs winkwink, amirite?

> Utility is contextual, remember? > > So here are ways to use org-mode without Emacs, for useful-to-you purposes, without even caring it is orgmode text underneath. > > Mobile, Web, and Desktop apps:

     mobile: Orgro, a mobile Org Mode file viewer for iOS and Android
     mobile: Plain Org, org text view and editor for iOS
     mobile: Orgzly, org text viewer and editor for Android (I use this on my phone, and sync notes to my PC with Dropbox).
     mobile: beorg for iOS (tasks, projects, notes)
     mobile: flathabits, inspired by Atomic Habits, with all your data stored in org files
     web+desktop: logseq, a privacy-first, open-source knowledge base
     web: organise, web-based org text editor and viewer
     web: braintool.org, a Chrome plugin "to easily capture and categorize all the information and knowledge you want to keep track of, right at the point you discover it or create it"
> Text Editors (apart from Emacs): > > You can type org markup text (syntax) in any text editor, even Notepad. > > Vim: https://github.com/nvim-orgmode/orgmode > > Atom: https://atom.io/packages/org-mode > > VSCode: https://github.com/vscode-org-mode/vscode-org-mode > > A variety of utilities to:

     Publish, Import, Export, Parse
     More community-enumerated tools for the same
     Even Github, Gitlab etc. support org markup these days!
 
> I'm sure more people are making and releasing tools backed by org-mode text. > > The future is bright!

[0] Why and How I use "Org Mode" for my writing and more

discussed: https://news.ycombinator.com/item?id=43157672

Re: How Markdown took over the world

#177

Found myself needing to read a lot of MD docs and wanted to read them quickly in the terminal. didn't find any light, so I whipped one up quickly with Codex. It's a TUI md reader, fast and cheap on the memory, because of Rust. Give it a try if you find yourself wanting a quick MD reader in a terminal. https://github.com/seymores/mdr

That's so cool! I built a CLI app for myself and am totally going to do a gradient now!

Re: How Markdown took over the world

#178
post #90

I think it's a littly funny he characterizes "Had the right flavor for every different context" as an advantage. It drives me crazy that Markdown is not the same everywhere and I'm still regularly getting confused about *bold* or **bold** or *italics*. (Curse you, Slack's weirdo version.) I respect Anil's argument that the extensibility has helped it be adapted to different contexts, and in practice the looseness of…

A more intuitive norm, used in other formats, would have been : *bold* /italics/ _underline_

  +strikeout+

  ~code/monospace~

  _subscript

  * Heading
  ** Heading 2
  ** Heading 3
     - bullet
     - [1/2] checklist summary
       - [ ] unchecked item
       - [X] checked item
And so much more...

I see you, mlok, you fellow person of culture :)

Re: How Markdown took over the world

#179
post #57

I love Markdown. I'm a bit surprised, though, that you still can't open a .md file by default in most web browsers. It seems like it should be quite trivial to have the browser automatically convert it to html and display it.

This is a good call. I know it's been suggested multiple times over the years; I wonder what the rationale was for rejecting the format, or at least having the option to render a file when it's loaded. (Maybe a "display as HTML" button or the like would be required before it would be rendered.)

“Markdown” is a family of writing formats. There is no one “Markdown”. It’s completely unsuitable for direct inclusion in the web platform.

Related reading: https://www.rfc-editor.org/rfc/rfc7763.html text/markdown registration.

Re: How Markdown took over the world

#180

I think it's a littly funny he characterizes "Had the right flavor for every different context" as an advantage. It drives me crazy that Markdown is not the same everywhere and I'm still regularly getting confused about *bold* or **bold** or *italics*. (Curse you, Slack's weirdo version.) I respect Anil's argument that the extensibility has helped it be adapted to different contexts, and in practice the looseness of…

Single-asterisk for bold is not Markdown. I believe Slack calls their thing "markup". I also find it annoying. So annoying that I just learned Slack's keyboard shortcuts instead.

Slack messages are formatted in mrkdwn https://docs.slack.dev/messaging/formatting-message-text/#ba...>. Completely unrelated to Markdown, superficial resemblance only. If there were trademarks in play you’d absolutely attack them for trademark infringement.

But what you type isn’t even mrkdwn, but rather an input mode that supports most of the same syntax.

Post reply on HN