5 ms·
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
by Havoc 10mo ago
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 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.
- teaearlgraycold 10mo agoI don’t even see the code. I see a blonde, brunette, red head.
- duckmysick 10mo agoThat made me think - are there any depictions of Markdown in movies and tv shows? I've seen a fair share of C, Java, HTML, and (in newer works) JavaScript and Python. And Perl in The Social Network. n.b.: the above quote is from The Matrix.
- dhosek 10mo agoI think that was php in the social network.
- dalemhurley 10mo agoIf it is going to be accurate it is PHP.
- duckmysick 10mo agoI'm referring to the part where Mark was scraping the photos from the Harvard's houses face book pages.
- mmcnl 10mo agoYeah, I don't even need a Markdown formatter. It's already in my head.
- eastbound 10mo ago> Not only that but Markdown use the conventions people already used in text files So why not Markup? At the time, everyone was using markup because Wikipedia was in wikimarkUP, with # for numbered lists, {} for macros and === to denominate titles. The latter still works in Markdown, but the former doesn’t. Funny heritage: Confluence shortcuts are also expressed in markup because it was the trend at the time, but they changed the shortcuts when they went to the Cloud.
- duskwuff 10mo agoMediaWiki syntax was its own odd duck. It used '''bold''' and ''italics'', and [https://example.com/ https://example.com/ external links like this] - almost nothing else followed their lead.
- Timwi 10mo agoAnd for a long time MediaWiki didn't have a proper parser for that markup, just a bunch of regexes that would transform it into HTML. I don't know if they have a proper parser now, but for reasons of backwards compatibility it must be lenient/forgiving, which means that converting all of Wikipedia to markdown is basically impossible now. So MediaWiki markup will stay with us for as long as there are MediaWiki wikis.
- duskwuff 10mo agoThere's been some progress on that front: https://www.mediawiki.org/wiki/Parsoid https://www.mediawiki.org/wiki/Parsoid
- syngrog66 10mo agoBINGO. a key point he either is ignorant about or strangely chooses to overlook
- VerifiedReports 10mo agoExcept 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 one I finally bought Marked. But that's all I could find. Otherwise you have to load MD files in some kind of editor and "preview" them. NO! I just want to double-click on the file and READ it, with the formatting applied. Why is that so hard?
- stouset 10mo ago> that render them as intended Markdown is the intended rendering medium.
- VerifiedReports 10mo agoHaha, right.
- nine_k 10mo agoPlenty of browser extensions exist, from barebones to fancy which support several flavors, include Mermaid and MathML, etc.
- zeppelin101 10mo agoI'm personally a huge fan of Typora. It's available on Windows, MacOS and Linux.
- physicles 10mo agoTypora is the best markdown authoring experience out there, even surpassing obsidian imho. I wish I could use it every time I interact with markdown.
- binaryIsBetter 10mo agoNever heard of Typora before, but after looking it up it is an instant buy for me. Thanks for sharing!
- da_chicken 10mo agoEh, the things Markdown was made to compete with were also text. Including, you know, plain text. Sure, there were people out there doing README.RTF or README.DOC that annoyed us all -- nevermind those README.PDF monsters -- but just as frequently it was README.TXT or READ.ME (or README.DOC was in plain text). And GameFAQs and newsgroups got pretty far with plain text and ASCII graphics. The problem is that people want to use a web browser to display their documents, they want rich documents, and web browsers are awful at displaying text they don't understand the structure for. And <code> tags look consistently awful when read back, which is why we so strongly prefer syntax highlighting when we read XML or HTML. Really, the big competition was BBCode, whose main problem is that it's too much like HTML, and Wikitext, whose main problem was that it's too bare-bones and domain-specific. The big advantages of Markdown are: 1. It's simply more readable. It pulls from how people were naturally formatting plain-text documents meant to be read as plain text rather than pulling from markup languages, so it more closely matches how people want to write documents in plain text. That makes the document easy to read while you're writing it. Asterisks for highlighting is an old convention, so were dashes and asterisks for bullets. Really, it made the asterisk an English punctuation mark for emphasis, which I think it genuinely is now. 2. It was easy to parse and short, which made it popular with Web 2.0 social media. It got picked up by Slashdot, Reddit, and Stack Overflow as "good enough" and "better than BBCode" for user generated content. Nobody liked using WYSIWYG editor boxes then, either. They were slow, buggy, and were often Flash-based before HTML5. They needed plain text formatting options, and BBCode was both annoyingly unnatural to type (just like HTML tags) and a little inflexible. And nobody wanted to repeat MySpace and just let users use HTML. That was a horrible idea (Samy, XSS, etc.).
- chrisweekly 10mo agoAmen. Biggest reason I love Obsidian so much; it's like an operating system for markdown.
- raincole 10mo agoIt'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.
- trollbridge 10mo agoProvided you’ve got UTF-8 (or CP437/850/1521 etc) and fixed pitch, it’s easy to make tables.
- Linux-Fan 10mo agoI don't think that is sufficient for the general case because I would like to be able to use the markdown like _emphasis_ or [hyperlinks](https://www.example.com https://www.example.com) even inside the table rows and this doesn't render properly when using fixed pitch “tables as source code blocks”
- mcny 10mo agoSorry 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?
- duskdozer 10mo agoIt can, the gripe that I don't have a good solution for is what happens when entry 3 is a 7-letter name?
- akshitgaur2005 10mo agoyou switch to org!
- 10mo ago
- rtpg 10mo agoI mean markdown existed, but before that there's like... whatever format phpbb and friends let you use for forum posts right? There was stuff that was text-y. But perhaps it was the first big format that was followed a Unix-y "here's a CLI tool to go to HTML from this" thing, instead of some php script
- spiderfarmer 10mo agoBbcode. But that required tags like [b] and [i] so was just HTML light.
- tasuki 10mo ago> It is missing the #1 reason I like it though - it's fundamentally text. Sure, but that's table stakes. There are much better formats: AsciiDoc, reStructuredText, etc. Yet I also primarily use Markdown. I could use a format that's perhaps 20% better, and well-specified. But I'd have to use Markdown somewhere anyway. So I just stick with Markdown. It's good enough for me.
- thangalin 10mo agoCan you quantify "much better"? I compiled a set of over 70 features offered by a variety of plain text formats: https://keenwrite.com/blog/2025/09/08/feature-matrix/ https://keenwrite.com/blog/2025/09/08/feature-matrix/ Are many features missing from the list? From what I can tell, objectively, plain text formats offer largely equivalent functionality.
- Linux-Fan 10mo agoThe original Markdown has fewer features than listed for the more advanced formats in the table. Hence if someone uses reStructuredText it is more precise than just saying “Markdown” because Markown could refer to anything from the original minimalist featureset to the vastly extended format supported by pandoc if given the appropriate CLI arguments. Some text-based formats have more options for tables e.g. alignment of columns (it may help with numbers to right-align them) or multirow/multicolumn options. Some formats support definition lists (corresponds to <dl> in HTML) - a feature which I often find valuable but was not included in the original Markdown IIRC. One advantage of using a text-based format is that it can be exported to either LaTeX or HTML and Markdown seems to prefer the HTML output by explicitly supporting inline HTML as an escape hatch for more complex constructs (e.g. tables with rowspan/colspan). In addition to often not being supported for a non-HTML export-type it also hurts the WYSIWYG experience when reading the file like plain text.
- aragilar 10mo agoThere are those that have well defined extension points (e.g. TeX, rst), and those that are ad-hoc, of which the best example is markdown. TeX, via packages and wrappers, can do practically anything. rst has directives (blocks) and interpreted text (inline) which can also effectively do anything (along with substitution references which are more macro-like). Specific "interpreters" (for lack of a better term) which you link to naturally have specific features by default (and some are more extensible than others e.g. pandoc which when writing out LaTeX lets you embed LaTeX in the markdown, so "markdown" in this case is turing complete). I think if you define "better" as having well-defined extensibility to enable multiple implementations (i.e. not ad-hoc things pandoc lets you do), then rst (which can be transformed into XML as per https://docutils.sourceforge.io/docs/ref/doctree.html https://docutils.sourceforge.io/docs/ref/doctree.html) would be "better" than markdown.
- BlueTemplar 10mo agoSo is HTML and XML and bbcode... The question is more why Markdown is slowly but surely outcompeting them.
- c-smile 10mo agoWYSIWYG is #1 reason I believe. Markdown is fundamentally WYSIWYG - you edit something and you get it rendered 1 to 1. Either in plain text (a.k.a. "source") or when it converted to HTML/CSS and then presented. WYSIWYG requires 1:1 mapping between "source" and "presentation". Markdown is exactly that. While HTML/CSS is 1:N mapping - same presentation can be achieved with many combinations of HTML/CSS rules. That's why "true WYSIWYG" is barely achievable with HTML/CSS.
- pixelmonkey 10mo agoAgreed. I wrote a post about the history and power of plain text in computing here: Simple and Universal: A History of Plain Text, and Why It Matters https://amontalenti.com/2016/06/11/simple-and-universal-a-history-of-plain-text-and-why-it-matters https://amontalenti.com/2016/06/11/simple-and-universal-a-hi... You might enjoy it!
- _the_inflator 10mo agoYes. Something as handy and universally applicable as HTML minus the tags. If you only use headlines and bulletpoints, I have a very pleasing result for a simple text file.
- scelerat 10mo agoBut Dash does acknowledge this, only slightly obliquely and I think more usefully broad: reason #3 Markdown succeeded: Built on behaviors that already existed. It succeeded because it came from the culture it was born in. Email formatting conventions. HTML. Plain text.