16 ms·
How Markdown took over the world
- ChrisArchitect 10mo agoBuried in here the mention of Textile. IYKYK. Joyent. TextDrive. Textpattern CMS. Imagining an alternate universe where it might have been Textile. https://textile-lang.com/ https://textile-lang.com/ Really it comes down to historically the time and place when Markdown was needed and the power of momentum leading to its mass adoption.
- kstrauser 10mo agoThat looks similar to reStructuredText: https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html https://www.sphinx-doc.org/en/master/usage/restructuredtext/...
- anildash 10mo agoI liked Textile a lot better initially, and it came out first. And interestingly, both launched at the same time on the platform (Movable Type) where Markdown debuted. So it really was sort of a clean A-B test about which one users chose. This piece was already pretty long, so I cut out most of the sidebar about Dean Allen and Textile, but he was a special guy, and certainly influential on so many parts of this era, not just Markdown.
- SoleilAbsolu 10mo agoI felt that Textile was the superior Sony Betamax to Markdown's VHS. Also, IME any no-coders I've known get freaked out by Markdown and always chose to use a rich text editor instead.
- BeetleB 10mo agoFun fact: For my first SW job I had to develop a site for a bunch of academics, and they wanted a way to enter rich text. I suggested textile, and they loved it. At the time, Markdown was not more popular, and I thought textile had the better syntax (it may also have had better library support).
- akshayshah 10mo agoI like Markdown, and generally agree that it strikes a nice balance between correctness and usability... ...but it's delicious that this blog post also demonstrates an ambiguity in Markdown: how to handle intra-word emphasis. In the rendered output, "mark_up_" and "mark_down_" were probably intended to be "mark<em>up</em>" and "mark<em>down</em>", but the underscores were instead rendered literally. I do appreciate that Markdown's solution to ambiguities like this is dead simple - just inline some HTML.
- AlienRobot 10mo agoI think it's delicious how nobody, absolutely nobody, wants _ to mean "emphasis," they want italics, and yet despite there being a markdown-to-HTML build step nobody has ever done what they were told they were supposed to do to circumvent the semantic issue and use <span class="italic"> instead of <em>. It wouldn't even make sense for markdown if it were language-agnostic to output <em> when that's HTML-only. I'm going to go to my grave repeating that <em> is just <i> version 2.
- akshayshah 10mo agoTotally fair. At least in part, I blame the choice of <em> and <strong>: it's really not clear what the hierarchy between them is, so I just think of them as the online versions of italic and bold. <mild> and <strong>, or <em> and <emem> (or <double-em>, or <very-em>) might have been clearer, but at this point we'll never know. Edit: apparently <i> has been redefined to be "the idiomatic text element" rather than just italic - so perhaps it's a semantically appropriate choice here after all! https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/i https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/...
- layer8 10mo ago<em> and <strong> were introduced as the supposedly semantic counterparts to the supposedly physical <i> and <b>. That never made a lot of sense, and then later <i> and <b> were redefined to be some subtly different semantic elements. Which also never really made sense. In the end, they both still mean italics and bold, unless you go out of your way to give them a different styling.
- w10-1 10mo agoThis is good and detailed, but misses a broader trend: how "worse is better" started to win - first Java over C++, then python and javascript over Java, and here markdown over Word and docbook. When markdown emerged, docbook was getting even more elaborate, and vendors everywhere had for decades been locking people into frameworks and languages with fantastic features that were hard to use -- and then the internet bubble had popped. Then people realized they'd thrown away years building complex system, and had little tolerance for promises. Markdown is something you can use in its native form. It's both source and destination, with a touch of future-proofing: if the opportunity arrives, you can polish it into anything, and mostly parse it yourself. (What's surprising to me is that pandoc barely registers when compared with markdown on google trends since 2004; pandoc is the reason I switched completely to markdown in ~2010)
- atoav 10mo agoThe thing this oversees is that the interface is important, simpler is not worse, it can in fact often mean better. For example while docbook may have some technical, the user experience for someone who just wants to write some basic stuff is absolutely horrible. If I imagine beginner-coding me, the first thing I would ask for example is why the hell not just use html by that point. Markdown is a thing I could peesent my non-technical parents unrendered and they still would be able to read the content, just fine for the most part. Try that with docbook. Now nerds like to pretend the more powerful format is automatically superior. It isn't. Markdown is sucessful because it is so barebones and opinionated and because it forces a focus on the content over formatting. If that is what you need markdown is perfect. If it isn't, go for Latex, HTML+CSS, Typst or use InDesign or whatnot.
- latexr 10mo ago> opinionated Markdown is the opposite of opinionated; nearly everything in the original spec can be done in more than one way. There’s two separate syntaxes to do headers, links, italics, bold, and three ways to do unordered lists.
- 10mo ago
- Apocryphon 10mo ago> that year’s largely uninspiring slate of U.S. presidential candidates like Wesley Clark, Gary Hart and, yes, Howard Dean helped propel blogs into mainstream awareness Gary Hart?
- twoodfin 10mo agoMy god, I think that’s right, & he at least considered it? https://en.wikipedia.org/wiki/Gary_Hart https://en.wikipedia.org/wiki/Gary_Hart Yup. It was a strange time in Democratic politics: The assumption after 9/11 and the success of the GOP in the 2002 midterms was that GWB was going to be reelected in a walk. So not a lot of big names crowding the field.
- anildash 10mo agoI know it seems quite absurd! I actually just added in to this piece a photo I took of the CNN screen that (I believe) was the first mention of the word "blog" that they ever put on-screen; it also has a mention of Hart's campaign. Very low-res, but the potato quality is worth it for the historical value, I think.
- nzoschke 10mo agoI love Markdown. My favorite Markdown creation was "GistDeck", a bookmarklet that turned a GitHub Gist of Markdown content into a slide show. So much easier to make and share than a PowerPoint deck. https://github.com/nzoschke/gistdeck https://github.com/nzoschke/gistdeck
- fittingopposite 10mo agoBroken homepage
- com 10mo agoThis might be the new location: https://gistdeck.github.io/ https://gistdeck.github.io/
- adamnemecek 10mo agoMarkdown was cool for a while. I have switched to typst and boy is that an improvement. It’s the love child of latex and markdown. With markdown you’d still have to embed latex, while typst has its own thing that is nicer than latex.
- tcfhgj 10mo agothe icing on the cake would be gitlab, github, etc. rendering typst like markdown
- TimorousBestie 10mo agoTypst is lovely.
- pbronez 10mo agoI've been enjoying Typst. I worry that much of it is too complex for many end users. I'm musing about having end users draft stuff in markdown, then render that markdown with Typst templates.
- adamnemecek 10mo agoYou don’t have to use those parts, you can use it as markdown.
- lozf 10mo agoGood call, I've had success with: pandoc -f gfm -t typst -o file.typ file.md and as you'll know it's easy to add a Template if required.
- adamnemecek 10mo agoPandoc is cool but I hate writing my own scripts for it.
- simonw 10mo agoI enjoyed "a curmudgeonly guy with a kind heart who right this minute is probably rewatching a Kubrick film while cheering for an absolutely indefensible sports team".
- walterbell 10mo agoWhat's preventing browsers from rendering a common subset of markdown without the need for browser extensions, with fallback to the current default of plaintext if parsing fails? LLM output can be copy-pasted for rendering by chat messengers and notetaking apps (e.g. DevonThink). If LLM markdown output continues to proliferate, does it become the defacto common-by-volume subset of Markdown, which browsers could standardize and render?
- xigoi 10mo agoThere is no such thing as a common subset of Markdown. Even basic things are rendered inconsistently by different implementations. If browsers decided to add Markdown support, this would lead to another “works only in Internet Explorer” situation.
- walterbell 10mo ago> There is no such thing as a common subset of Markdown. That was true before the widespread use of generative AI. LLM-generated markdown could _become_ the most common subset of Markdown, since machines can generate Markdown faster than humans.
- xigoi 10mo ago“LLM generated Markdown” is not a coherent description of a language. LLMs can generate anything they have seen in their training data, which includes many incompatible dialects of Markdown.
- walterbell 10mo agoMajor LLMs (e.g. ChatGPT) have a copy button for their output, yielding markdown that is already being consistently rendered by other apps, reflecting what was consistently rendered as HTML. Presumably LLM vendors have built a deterministic way of generating spec-compliant HTML and their well-defined dialect of Markdown, otherwise their chat UI output would not render consistently.
- simonw 10mo agoHere's a fun trick: if you add .text to any URL on Markdown creator John Gruber's blog you'll get to see the hand-authored (bar the metadata and tags bits) Markdown he wrote for that entry. Example: https://daringfireball.net/linked/2026/01/09/moylan.text https://daringfireball.net/linked/2026/01/09/moylan.text ... and if you look closely at some of the entries you might spot custom Markdown features that aren't part of the published spec.
- ntnsndr 10mo agoFunny that he didn't use the .md extension. Maybe because he started doing it before he expected his markup would merit its own filetype?
- twoodfin 10mo agoMore likely because the whole point of Markdown was to be embedded in text, not a freestanding format for an entire document.
- leejoramo 10mo agoThis is exactly why. It is my assumption that Gruber chose ‘.text’ over ‘.txt’ for several reasons. To give it a little difference when searching for files. To be more legible to non-computer people. And finally, while Classic MacOS did not use file extensions, the Resource Fork type code for text files was ‘TEXT’
- SllX 10mo agoAlso a little extra distinction: “.txt” is a relic of 8.3 DOS filename conventions. He was not bound by these. If you’ve got the space, of course you’ll go with “.text” over “.txt” because text is the input, HTML is the output, Markdown is the tool for converting one into the other, per the first line of the introduction: > Markdown is a text-to-HTML conversion tool for web writers. Ergo they’re not Markdown documents, they’re text files that can be converted into HTML using Markdown. https://daringfireball.net/projects/markdown/ https://daringfireball.net/projects/markdown/
- WalterBright 10mo agoMarkdown vs HTML is a fine illustration of what humans consider to be natural and intuitive is anything but to a computer.
- inkyoto 10mo agoOr, more pedantically, Markdown vs SGML, which was meant to be the one to rule them all.
- nout 10mo agoI'm a big fan of markdown, it's easy enough to remember the basic syntax and your files are portable across hundreds of different editors. If one day I decide to switch away from Obsidian, I can just plug the same files into another good editor.
- igtztorrero 10mo agoJust waiting Google Workspace create a Markdown Document Editor and Viewer. Chatgpt is pushing markdown to the maximum expose, Google & Microsoft sooner or later should react.
- happyopossum 10mo agogdocs has supported markdown for a while now…
- kazinator 10mo agoMarkdown filled an obvious void: the need for something with more formatting capability than plain text, but editable and version-controllable as plain text, without the obnoxious verbosity and complexity of typical markup languages: i.e. more or less readable as plain text also.
- hnarayanan 10mo agoI love it. Almost as much as I do org mode.
- pwdisswordfishy 10mo agoI think it's fitting that his attempt to emphasize "markup" and "markdown" was foiled by his own blog's Markdown parser.
- happyopossum 10mo agoIt wasn’t - elsewhere in comments here he mentioned that he wanted underscores, but gave up due to so many comments like yours.
- erlkonig 10mo agoI just hate that (1) you can't nest anything into a table (2) it's different everywhere. Restructured Text is much more capable, and yet here we are, still using Markdown. My markdown pages often also have HTML in them, I mainly use Markdown so if I decide some overlong thing I wrote on Reddit actually doesn't suck, I can copy-paste it into a webpage, and my web-server's .smd handler does the convertion. Lowest common denominator. :(
- swyx 10mo agosharing my list of mistakes in markdown that Gruber endorsed :) https://news.ycombinator.com/item?id=22776108 https://news.ycombinator.com/item?id=22776108
- anildash 10mo agoI was texting with John the other night while working on this piece, and reminiscing about my initial quibbles about the format, and I think I had been frustrated by just about everything on your list. I just need you to travel back in time to tell me to fuss more!
- NelsonMinar 10mo agoI 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 it doesn't cause a problem. I do wish CommonMark had more traction (and acceptance and use of the name Markdown). It'd be nice to have a standard, at least for the basic stuff.
- duskwuff 10mo agoIn the contexts where Markdown is most often used, the distinction between bold and italics isn't really important. So long as *this* or **this** gets rendered in a way that conveys emphasis, the meaning is preserved.
- ggm 10mo agoThe implicit humour of using 3 forms of intent, only one of which works in HN
- anildash 10mo agoIt took me a long time to see the variations as a plus and not a minus; as a veteran of the RSS-vs-Atom wars, I was long an advocate of Technical Correctness(tm) like any good coder. But the years since then have made me a lot more amenable to what I think of as a sort of Practical Postelism, which I guess is like applied worse-is-better, where we realize the reality is that we'll _always_ have forks and multiplicities, so we should see it as a feature instead of a bug. It's like accepting that hardware will fail, and building it into the system. I mean, HTML itself is well specified in the streets, and infinitely different flavors in the sheets. I don't _like_ that, the part of me that writes code _hates_ that. But the part of me that wants systems to succeed just had to sort of respect it.
- adityaathalye 10mo agoAh, Anil, but have you fought the plaintext syntax wars yet? Jokes apart, regular, standardised, visually-suggestive syntax is a key reason I've stuck with org-mode despite its limited acceptance in the world at large. The many flavours of markdown make it /less/ portable than org syntax, in my experience. As the post below says, "Pandoc lists six different Markdown flavors as output formats." This is not great for collaboration --- now we need some sort of middleware or advanced editor to help people work with more than one syntax format. Besides, mixing syntax in the same document is a boo-boo, because parsers only work at file-level, not semantic token level. Owing to this, at times, I go as far as to /author in orgmode, but share in markdown/ (org-export), and slurp back and forth (tangle / detangle). Cue: Org Mode Syntax Is One of the Most Reasonable Markup Languages to Use for Text: https://karl-voit.at/2017/09/23/orgmode-as-markup-only/ https://karl-voit.at/2017/09/23/orgmode-as-markup-only/
- Havoc 10mo agoSound 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 it to look at the code in this server repo and make me a API_documentation.md and it'll grasp that I want a text based summary of how to use this endpoint
- christophilus 10mo agoSame. I’m reading The UNIX Programming Environment (1984), and it’s made me want to use text for a lot more things. Proprietary formats come and go, but text is forever.
- chrismcb 10mo agoProvided you know the byte format of the text.
- GuB-42 10mo agoNot only that but Markdown use the conventions people already used in text files (point 3 in the article). People wrote Markdown before Markdown existed, they just formalized it. In fact, I like to write notes and documentation in text form, and then I notice I have been using Markdown all along, so I rename my text file into .md, fix a couple of markers, and now it looks nice on a viewer that supports markdown, and I have syntax highlighting in my text editor.
- tombert 10mo agoThat's the main reason I still like writing Markdown (and Typst nowadays as well); I can "render" it in my head very quickly. When I'm reading Markdown, I almost don't even see the symbols. Beginning a statement with a # immediately just looks like a heading, surrounding a word with asterisks looks italic to me, wrapping a string with backticks looks like code formatting to me, and my assumptions are generally right so I don't need to render very often (which is why the Pandoc -> LaTeX -> PDF pipeline didn't bother me that much). If I'm writing LaTeX or something, I generally have a very rough idea of what something will look like, but it's not terribly reliable for me. I need to render frequently because my assumptions about how something is going to look is likely to be wrong. I mostly use Typst now because it is similar enough to Markdown, and the compilation time is so categorically faster that I see little reason not to use it, but I still respect the hell out of Markdown for popularizing this kind of syntax.
- rkp8000 10mo agoI 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.
- embedding-shape 10mo agoYeah, also missing a built-in JS API for turning Markdown into safe HTML. Sure, there are lots of different implementations, but maybe start with something small at least.
- anildash 10mo agoThis 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.)
- chrismorgan 10mo ago“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 https://www.rfc-editor.org/rfc/rfc7763.html text/markdown registration.
- Ringz 10mo agoThe overlap between these Markdown formats is actually larger than with many other formats. Possibly even larger than HTML’s overlap back when MS Explorer was the dominant browser.
- chrismorgan 10mo ago> Possibly even larger than HTML’s overlap back when MS Explorer was the dominant browser. No way. You were never left in doubt about whether a normal HTML tag would work, or whether tables were available or would become a jumbled illegible mess, or whether a line break in the source would become a space or a hard break. And that’s just the first three things that occur to me.
- chuckadams 10mo agoThe author of CommonMark and Pandoc has a new format called Djot: https://djot.net/ 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.
- esjeon 10mo agoA little bit of a problem, as a Korean, is that the name “djot” (and also common word “jot”) sounds like a Korean slang for “dick” :/
- karel-3d 10mo agoWow this looks like a stricter, more sane Markdown! Great, will try it... sometimes.
- cmrdporcupine 10mo agoDjot is great. I use it in my project ( client for https://timbran.org/moor.html 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.
- childintime 10mo agoWithout 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 <*bold>. Very unlikely to clash, can be vibe coded in an hour. But it's more of the same.
- chrismorgan 10mo ago> I don't know who actually likes curly quotes For reading, I don’t know who prefers straight quotes. For writing— There are more than a few people on HN who deliberately type curly quotes and other non-ASCII punctuation, due to a strong preference for them. I’m one of them. I use Compose sequences: ; ; for left single quote, : : for left double, ' ' for right single, " " for right double. (Accordingly, I hate being subjected to automatic curlification, partly because it’s not always correct, but more because if I typed ' or " you better believe I meant ' or ".)
- Johnny_Bonk 10mo agoI'm fairly new to all this, but my understanding is that Markdown is great for a few reasons: It's just plain text, so no vendor lock-in and you can ripgrep/fzf/grep through it Lives happily in git repos with proper diffs LLMs speak it natively - they output Markdown, they understand Markdown input Way easier for agents to parse than PDFs (which are binary, layout-focused, tables turn to mush) Can do tables (at least in GFM), headers, code blocks, links - all structure preserved What it can't do (as far as I understand): complex layouts, precise typography, embedded binary content, anything that needs pixel-perfect rendering. Am I missing anything? What are the other limitations I should know about?
- sheept 10mo ago(CommonMark) Markdown is a rough superset of HTML, like how YAML is a superset of JSON. So whatever can be expressed in HTML can also be expressed in Markdown. With the way the CommonMark spec is written, Markdown is effectively just an HTML preprocessor. A major limitation of Markdown is the lack of standardization. For example, even within GFM there's multiple subtle variants: a single new line becomes a space when rendering Markdown files, but a line break in issue comments.
- cbm-vic-20 10mo ago> whatever can be expressed in HTML can also be expressed in Markdown. I suppose, since Commonmark specifically has HTML block and raw HTML inlines, any chunk of HTML is by definition valid Markdown.
- qingcharles 10mo agoIt's enormously frustrating that there has been no standardization of the core base-level Markdown elements. If you allow Markdown input you have to give a cheatsheet showing which "flavor" you are using.
- GeneralMaximus 10mo agoI've started to "standardize" my own use of Markdown as "whatever works in the apps I use". For me these apps are iA Writer, Obsidian, and Astro's rendering pipeline (which uses the Remark/Rehype ecosystem under the hood). This sucks for sharing documents with other people, but in practice it's not a problem. 99% of my writing never leaves my notes app or blog. And when it does, I often export it to PDF or Word to make it easy for non-techie people to read (I love Pandoc for this, it's easily one of the favorite tools in my daily toolkit).
- riffic 10mo agoThere's something really interesting about the constraints given by plain text that you would lose with What You See Is What You Get (or, the ever-unfortunate acronym WYSIWYG) controls. I almost think what you get in that case is an unfortunate mindset-shift towards What You See Is All There Is (or, an incredibly dope acronym, WYSIATI).
- Analemma_ 10mo agoThis is a good article, although I wish it had talked a little more about the standardization (or rather, the lack thereof) in Markdown. I get why it didn't, it's trying to be positive about something that is an overwhelming net positive for the world, but I think a "warts-and-all" treatment of the history would be more honest. I appreciate that Gruber brought this very helpful thing into the world, but OTOH he was such a prick about the whole Standard Markdown debate, for no real reason other than ego. And it resulted in Markdown remaining an ill-defined standard to this day, with occasional compatibility issues still cropping up even though most platforms support most of "Github-flavored Markdown" (itself a stupid name and indicative how badly this has gone).
- anildash 10mo agoI _don't_ think it was just ego. I think it was a smart strategy because formal standardization tends to bring in complexity, and just letting folks go off on their own and document their own usage (or "flavors") ends up being Good Enough in actual practice. It sucks from a standpoint of what I personally find satisfying, to be clear. But based on what I've seen over the last 20+ years, it is the strategy that is much less likely to yield a format that gets captured by giant companies that own a hyper-corporate standardization process that eventually gets enshittified.
- Analemma_ 10mo agoThanks for responding, Anil! Like I said, I really liked the article overall. I don't agree that the Standard Markdown effort, had it succeeded as originally laid out, would've resulted in "hyper-corporate standardization". I mean, one of the main actors was Jeff Atwood, just about the least "hyper-corporate" guy there is. And I also don't really see any possible trajectory for Markdown to get "enshittified": after all, for the most part it's just plaintext with formatting conventions that existed way before it. Even if some corporate entity had somehow badly messed it up, markdown.pl and the other pre-existing implementations would have continued to exist.
- anotherevan 10mo agoYou've pretty much said what I was going to say. I think John was absolutely inspired in coming up with Markdown, but was a terrible steward. Or perhaps I should say he was unwilling to steward it. My impression was he pretty much threw up a Perl implementation that was good enough for what he wanted, refused to refine it at all, and declared by the power vested in him by nobody in particular that if any parser implementation differed in behaviour to his (like, to fix bugs or make it better), wasn't true Markdown and wasn't allowed to be called Markdown. Or perhaps I am being uncharitable in my interpretation of events.
- levmiseri 10mo ago> ...that it was too difficult or inconvenient to write out full HTML by hand It's not necessarily that writing HTML or other markup flavors is harder (obviously it is), but the beauty of Markdown for me is that it's perfectly readable in its raw form as well as with an applied styling. And speaking of customizing the 'look' of markdown, a shameless plug for a markdown editor I've been working on with extensive customization options: https://kraa.io/about https://kraa.io/about
- nomel 10mo agoAlmost. <br> is sometimes requires, like multi-line table cells, which also requires the use of monospace fonts.
- hju22_-3 10mo agoI've looked at your product before, but given that I can't self-host it and thus not control it, I think it's too vague on the security details. It does say some in the privacy policy, but there's no real details there. Given the potential sensitivity of personal notes, let alone work ones. Though, if that's no concern, I do think it looks good. So kudos in general. :) You planning to monetize it eventually?
- levmiseri 10mo agoThanks! And fair enough, self-hosting isn't something we can easily do right now, but I can see why that would be a super valuable feature. For monetizaton – yes, we will soon have a 'pro' tier that will have more storage space for media.
- nickserv 10mo agoBlank page with JavaScript disabled says to me: nothing to see here, move along.
- emaro 10mo agoOff-topic a little bit, but some feedback for your editor: I saw Kraa when you posted it here on HN, and decided to give it another go, even though I remembered that I dismissed it quickly the first time. I only got shy beyond the first line -- Kraa breaks words anywhere to wrap to the next line, really a no go for me, at least in Markdown (it's different if I enable word-wrap in my code editor). Played around a little more and the editing experience is not great (for my needs): - Kraa hides '#', so I can't remove the header style from headers. The context menu does not offer to change to paragraph style. - Kraa uses non-standart '[]' for tasks, instead of the more common '- [ ]' and '- [x]'. Slick UI, sure. However if I cannot edit Markdown, I don't consider it a Markdown editor. Like Notion is also not a Markdown editor, even if I can type '# ' to get a heading.
- NamlchakKhandro 10mo agoReason it won: Easier to understand Shape it creates is scannable GitHub render it by default
- codazoda 10mo agoShameless plug, I’m writing the book on how to publish YOUR book with Markdown. https://www.48hourpress.com/publish-with-markdown/ https://www.48hourpress.com/publish-with-markdown/
- themadturk 10mo agoJust joined your Early Reader's list. I've already self-published a novel written partially in Markdown, and starting work on another, so I'm anxious to see what you have to say!
- codazoda 10mo agoAwesome, thanks for joining.
- tomeraberbach 10mo agoI added Markdown support to Google Docs as a 20% project. Honestly honored to be included in this Markdown history :)
- edoceo 10mo agoI use it almost daily. Thanks!
- nvader 10mo agoSeconded. @tomraberbach, today in conversation someone mentioned Paul Buchheit's invention of Gmail as a 20% project. The next time, I'll mention you!
- tomeraberbach 10mo agoHeh I think the scale is a bit different, but I'm honored :)
- nvader 10mo agoIt's not a typical day for me, but I sent 0 emails (Gmail is my standard) but edited 2 Docs with Markdown.
- tomeraberbach 10mo agoWell that's awesome! Out of curiosity, do you mean the "autocomplete" feature or the import/export/copy/paste feature? (I did both)
- tomeraberbach 10mo agoLove it!
- data-ottawa 10mo agoThis was a great addition. That and using `alt+/` to open options/command palette are my favourite features, but you single handedly made Google Docs spark joy for me
- nvader 10mo agoI think there is another article waiting to be written, why ReStructured Text lost. I know that in my younger years I would get a lot of flak for converting .rst files into .md when I joined projects. (As I got older I just stopped seeing .rst that much)
- zahlman 10mo agorST is still fairly popular in Python circles, especially for anyone using Sphinx.
- benji-york 10mo agoI love reST and I think it lost primarily because of distribution. I.e., the people using it did not have large audiences and didn't put much effort into promoting it. It's a shame because reST is almost as easy on the eyes as Markdown and is much more capable without being too much more complex.
- tasuki 10mo ago> I know that in my younger years I would get a lot of flak for converting .rst files into .md when I joined projects. Why would you do that? Seems terribly impolite to join a project and start breaking things...
- nvader 10mo agoYes. With youth comes a lot of zeal along with a lack of respect for the established ways of doing things. Having convinced myself that Markdown was "better" than ReST, I couldn't see why anyone would disagree with me. Learning is a process.
- yencabulator 10mo agorST was better at structured content with its directives etc, but it was too complicated for non-techies, too much repeated punctuation and careful indenting. Now we have markdown which is unable to express the structured parts, with a flea market of less-good extensions, some raw HTML snippets, and in general have lowered the bar to not even attempt the things rST is capable of. Instead of rST, the markdown ecosystem is leaning toward "some fenced code blocks are magic", with user-unfriendly goop in them that is hidden by the UI (when one happens to use the one blessed UI for that flavor). And that approach can't solve inline directives.
- karel-3d 10mo agomarkdown is horrible, horrible format to parse; there are so many ambiguities; CommonMark is so complex because of that and still has so many ambiguities. it's like YAML: it looks so simple at first, and then the horrors start if you try to use it seriously. in both cases the most horrors lie in the spaces/tabs/newlines.
- GeneralMaximus 10mo ago> markdown is horrible, horrible format to parse... I agree entirely. But it's a lovely format to use. Programming as a profession is entirely about making things easier for our users, even if it means making things harder for ourselves. After all, that's the whole ethos around the web as a platform. Throw some broken HTML soup at a browser and it'll still try its best to render it.
- karel-3d 10mo agoThat is true, modern HTML is also (from what I heard!) hard to parse.
- nikau 10mo agoBest thing about markdown is the barrier to entry of non technical folks, it stops them shitting over technical documentation and steers them to Confluence or sharepoint for their die on the vine slop.
- fittingopposite 10mo agoAre there any ways to type email in markdown? Never thought of it so far...
- kermatt 10mo agoOn macOS there is MailMate: https://freron.com https://freron.com
- fittingopposite 10mo ago40 USD/year just for markdown support + vendor lockin? Not sure I buy the value.
- porker 10mo agoIf you use GMail: https://chromewebstore.google.com/detail/markdown-here/elifhakcjgalahccnjkneoccemfahfoa?hl=en https://chromewebstore.google.com/detail/markdown-here/elifh...
- dhruv3006 10mo agoMade an api client based on executable markdown : https://voiden.md/ https://voiden.md/ .
- awepoifawpoifj 10mo agoMarkdown took over because GitHub decided it should, instead of picking ASCIIDoc which is a better format, has a standard, and is literally used by the git documentation itself.
- genzer 10mo agoI argee. Up until now, the most PITA for me in Markdown is the table syntax. Even CommonMark does not have any spec for table except for long running discussions with lots of proposals. AsciiDoc(tor) has a nice support for tables. It also supports more complex features like merged cells, span cols and all but the syntax suffers from there. I guess that is also why AsciiDoc was not widely adopted.
- kittikitti 10mo agoA brown bag I did almost a decade ago informed some fellow developers about Markdown. Almost all of them dismissed it and confided that they didn't think it would catch on. Once again, I'm glad the gatekeepers are communicating this, one less humiliation ritual.
- seymores 10mo agoFound 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 https://github.com/seymores/mdr
- chrismorgan 10mo agoThe 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 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 https://anildash.com)” or “Anil Dash’s blog <https://anildash.com 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.
- Peteragain 10mo agoThe original idea was there with html 1.0. The lesson we needed to learn was that some think you can't sell stuff to do things if doing them is simple. https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguish https://en.wikipedia.org/wiki/Embrace,_extend,_and_extinguis... Perhaps md is an opportunity to re invent the web: a browser for just md AND a search engine with an open algorithm that indexes just what is visible.
- astrobe_ 10mo agoThe funny thing is that HTML was supposed to be a markup language that could be read/written by hand, while making it also machine-to-machine friendly - notably by making some "semantic" features accessible for browsers. One of these for instance is the structure of the document; marking section headers was supposed to let browser to automatically generate a table of contents. Additionally CSS was supposed to let users choose how all this was displayed. All of this failed - or rather, was undone and cancelled by the "modernization" of the Web. Namely the arrival of for-profit companies on the Web, be it Facebook of the press like the New York Times. It was a boon as they brought valuable content, but they brought it with their own rules. The first set of which is the ads-supported model, which is by definition the opposite of free content; an ad-supported website is not free in a very sneaky way, and it's not just about privacy and manipulative practices (targeted ads, as if ads were not already manipulative enough). Users are actively prevented from consuming the content the way the want. The situation today is that very few browsers offer out-of-the-box a way to apply a personal CSS, and I think none will generate a ToC from the headers of a HTML page. And the "semantic" part - far from specialized and more accurate semantic markup frameworks that were considered - is being completely taken over by LLMs; an insanely expensive brute-force solution IMHO. The web has already be reinvented mostly the way you suggest, see for instance the Gopher and Gemini protocols, but they'll stay forever "niche" networks. Which could be not so bad, as it is very clear that the Web is full of actors malicious to various degrees. Tranquility by obscurity?
- Peteragain 10mo agoI used gopher before mosaic! And yes the issue is not the tech, but the social engineering of a community. Git(hub) has a community; IMHO GitHub users need to put more cool things on there like blogs.. perhaps..
- O1111OOO 10mo agoMy terminal MD viewer: pandoc readme.md | lynx -stdin I like the results better than glow, bat and a few other viewers.
- gitttnwmrlg 10mo agoOn the contrary, more and more repos are using RST recently.
- nickserv 10mo agoFor me this is the superior format, but alas, almost no one uses it. Even Python projects usually go with.md docs. What new projects have you seen using.rst docs?
- timokoesters 10mo agoMarkdown has a lot of weird choices and works best for longer documents. Check out my "Advent of Markdown" where I go through surprising markdown behavior: https://mastodon.social/@timokoesters/115643467322561173 https://mastodon.social/@timokoesters/115643467322561173
- ricokatayama 10mo agofor me, the idea of structuring and formatting texts keyboard-only was fundamental for my adoption of markdown. iA Writer as an app that pushed me in that direction. Markdown, iA Writer, and my Keychron are part of my routine.
- __jochen__ 10mo agoSorry, I'm going to be a downer. I've been around for a long time too, saw many formats come and go (even contributed to some myself). I think Markdown is super neat and handy, but this statement "The trillion-dollar AI industry's system for controlling their most advanced platforms is a plain text format... Their achievement is every bit as impressive as yours." ..is way off. NN math & engineering has been refined for ~50 years (give or take) and scaled to mindboggling levels. For better or worse, it is in the process of transforming how society functions (just like the internet and mobile phones did). Building modern advanced NN/AI requires extremely sophisticated and advanced science, hardware & algorithms; the format of the prompts conventionally used by some are a handy but fairly trivial part of the endeavor.
- jillesvangurp 10mo agoMarkdown got there first/early depending on your perspective. Things like AsciiDoc got popular much later when AsciiDoctor was released around 2009 (though it technically existed already when Markdown was created) and is aimed at people who care about structured documentation. It's not aimed at casual users. Likewise, things like org mode, which also emerged around the same time, catered to a niche of emacs using people. Which almost by definition is a subset of techies. It wasn't a logical choice for a mainstream blogging tool. Markdown was aimed at people that used blogging tools (initially), and later any other kind of tool that accepted text. It spreading to tools like Slack, Github, etc. is no accident. Github actually has supported plenty of alternatives for documents. But they picked markdown for issue tracking, pull requests, etc. Because they had to just pick something and Markdown was the most popular. By the time AsciiDoc became more popular (2009ish), Github was already being developed. With Markdown support. AsciiDoc was a niche thing, Markdown was already somewhat widely used then. It was an obvious choice. Them picking Markdown was important because the whole OSS community started using Github and got exposed to Markdown that way. The rest is history. Other formats existed (textile, and various other wiki formats). They have features that are important to some people. But getting people to switch who don't really care about those features is hard. It's a bit like VHS over Betamax. Was it better. Not really. But it was there and video rental shops had to pick a format. And that wasn't Betamax when the dust settled.
- janwillemb 10mo agoThe writeup does not mention Jeff Atwood (Stackoverflow founder) trying to convince Gruber to standardize markdown. Atwood approached him publicly in a series of blog posts, but Gruber kept silent, and if I remember correctly finally declined stating that he didn't want to spend time jumping through other persons' hoops. Although it sucks that markdown is not standardized, I still see this as an inspiring example of a person just doing what he wants to do.
- awesan 10mo agoIt happened a bit differently; Atwood and friends simply came out with a standard document and called it "standard markdown", which Gruber then refused to endorse. Eventually after the series of blog posts and some back and forth they renamed the project "CommonMark", which it is still called today. I am not sure (of course), but I think Atwood simply thought standardizing this format was so obviously valuable that he didn't consider Gruber might not want to work with him. In retrospect it's kind of nice that it didn't happen, it really keeps everyone incentivized to keep the format simple.
- Kwpolska 10mo agoThe linked post contains three cases of Markdown syntax (underscores) leaking into the text, where actual italics were likely intended. This is the most basic Markdown syntax element failing to work. The problem CommonMark is trying to solve is not adding new features (the only one they added to Gruber Markdown is fenced code blocks), but rather specifying how to interpret edge cases to ensure the same Markdown code produces the same HTML everywhere.
- awesan 10mo agoI understand the goal of the spec. In my experience once some spec document gets adapted widely enough, there's a strong incentive to add new features to it, which renderers would then be compelled to implement. Before you know it, MD is a complicated spec that doesn't serve its original purpose. In this case a few minor edge cases is really not a big deal compared to that (in my opinion).
- Kye 10mo agoI can never remember what's what with Markdown. HTML has the important feature of providing a hint to function in the tag. I struggled learning HTML, but I eventually memorized all the tags to the point that I can still hammer out boilerplate all these years later. It's always a coin toss on whether I'll bold or italicize the first time I use Markdown in a while. I still prefer WYSIWYG.
- NooneAtAll3 10mo agoMy only complaint about markdown is insistence of transforming "1)" into "1." and "-" at the start of a line into a dot I know what I want, ffs. And I don't want html
- KronisLV 10mo agoI've seen people who prefer HTML for user-submitted messages and other stuff that might need some formatting - "But what if we need to add colors to the text? Markdown isn't even one coherent standard, there's multiple ways to render it! What about justifying text? What about..." all while fighting increasing amounts of XSS issues and also the HTML style classes (because ofc JS editors add those, instead of even inline styles if you care about portability so much or semantic HTML where possible), as well as inconsistent looks after storing the data in a relational DB and doing various transformations to it over the years. If you ever hear any of that, don't listen to it. Just use Markdown. If you're building a messaging system or an announcement system instead of a fully fledged CMS - YAGNI/KISS. Or pick anything other than HTML, even BBCode.
- pmbanugo 10mo agoWould we have a better or evolved markdown?
- jokoon 10mo agoI wish there was a markdown renderer, that doesn't use HTML It would be insanely faster to render
- irishmanlondon 10mo ago[dead]
- TomMasz 10mo agoThere's always room for a tool that does most of the things that people need to do, alongside far more complicated tools that do that plus a whole lot more. If all you want to do is maybe make some text bold or italic or have a bullet list, you can do it in Word, but it's way more than you need (plus it's not text), Markdown solves your problem, and if someone doesn't have a tool for viewing Markdown, it's still perfectly readable in a text editor.
- gregopet 10mo agoBoth ASCIIdoc and reStructured text are older and better (subjective, of course), yet Markdown still won. Happens sometimes, nothing to see, I've moved on (with just a little grumbling). Now I often can't remember their syntaxes anymore, Markdown is everywhere.
- thangalin 10mo agoI've posted my feature matrix elsewhere in this thread: https://keenwrite.com/blog/2025/09/08/feature-matrix/ https://keenwrite.com/blog/2025/09/08/feature-matrix/ The matrix, which you can download, aims to provide an objective comparison. Any idea what features are missing, or can you qualify what makes the other text formats "better"? From my perspective, they are largely equivalent.
- zahlman 10mo agorST is certainly more powerful, but I always found it harder to get into the flow of writing it.
- jrm4 10mo agoIt's fundamentally 7 and 8, I think. It's just like comedy, timing is everything.
- thelastgallon 10mo agoThis reminds me of Adam Bosworth's talk on HTML (https://adambosworth.net/2004/11/18/iscoc04-talk/ https://adambosworth.net/2004/11/18/iscoc04-talk/): It is an ironic truth that those who seek to create systems which most assume the perfectibility of humans end up building the systems which are most soul destroying and most rigid, systems that rot from within until like great creaking rotten oak trees they collapse on top of themselves leaving a sour smell and decay. We saw it happen in 1989 with the astonishing fall of the USSR. Conversely, those systems which best take into account the complex, frail, brilliance of human nature and build in flexibility, checks and balances, and tolerance tend to survive beyond all hopes. Markdown is an 'improvement' over HTML, makes it even more flexible and tolerant and easier to write without using tags.
- derefr 10mo ago> easier to write without using tags ...until you want to write any tabular data. The Markdown syntax for tables might look pretty when you read it, but the only time I've ever bothered to produce it has been with the help of a WYSIWYG Markdown editor (e.g. Typora). And I actively recoil from the idea of modifying one (since that could potentially change the width of a column, requiring carefully adding/removing spaces from the other cells in the column... ugh.) Meanwhile, I've been hand-rolling + hand-modifying HTML tables with ease since the HTML4 days. HTML tables do not emit ugh-fields. (With the tradeoff that they do not visually read as tables in their source-code representation. But they still do read as cells grouped into records — and for most cases, that's almost as good.) And yeah, sure, for embedding wholly-plaintext data tables, you could just drop some lines of CSV in a quote-fenced code block. But that doesn't work if you want that table to render with MD semantics itself, such that you can style the contents of the cells using MD syntax. Think "links to additional resources in Github READMEs." IMHO, a format that's mostly just Markdown, but which deprecates MD's existing table syntax in favor of a much-simpler-to-write "sigil-annotated list-of-lists" syntax, would be a big hit. (And, now that I think about it, would also probably make it simple for LLMs to spit actual headered tables at you, rather than relying on endless hierarchical bulleted lists.)
- syngrog66 10mo ago90%+ of its value is that its plain text. with just a few simple conventions for annoting the individual also claimed (in so many words) that the trillion-dollar AI industry is "controlled" by Markdown. he has either a deeply wrong understanding of the technology, or a shameless ambition for making wild claims to boost traffic strong writing skills. but weak on technology and nuance, or history of our field
- qq540738209 10mo agoMarkdown is very easy to use and comfortable to edit, making the text very readable. I still remember the feeling when I first switched from Word documents to writing documents with Markdown; it was amazing.
- jockm 10mo agoI am glad markdown is very reliable to you (and many people), and if you’re just talking about something with very light, formatting, then it can be. However, link have documents can be incredibly hard to read. I am dyslexic. I find markdown documents, markedly worse for me. All I’m saying is that we can’t universalize this experience
- pseudohadamard 10mo agoIt hasn't taken over the entire world yet. I present HN as an example.
- rurban 10mo agoThat's missing the whole point. I was there when those easy markup languages were invented. It started all with wiki's (after Stallman's info of course). The first one being C2, and then the discussion about better formatting syntax on the MeatBallWiki because we had many different wiki's back then (long before MediaWiki). I was with PhpWiki, which had a good start because every webserver had php support, but almost nobody perl. Links should have no different text, as this would hide the target. A security problem. Mediawiki destroyed that because Jimbo had a different vision, and because they didn't care. Markdown followed because Gruber had no idea and followed Jimbo, not the consensus from the other wiki's. More support for the []() link syntax came then with inline images, even when that was a bigger security nightmare. Headers switched from the simple ## prefixes to the underlines, which just looked better, and most engines supported both. Markdown was just a compromise of all the existing wiki formatting, which was simple enough. It should stay simple and readable, because that's what made POD better than other more verbose formatting styles. Mostly info, rST, AsciiDoc, org-mode (which was the most verbose). Which replaced troff and TeX. People still wrote books in GNU info, rST, AsciiDoc, POD and org-mode. But Markdown looked better on both eyes, the pure ascii eyes and the formatted layout.