> What it can't do (as far as I understand): complex layouts, precise typography, embedded binary content, anything that needs pixel-perfect rendering.
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.
Does anything need all those features though? If you need more than headings, bold, italic, quoted text, and code, you should probably be using HTML or Latex or something. So a better goodness-of-fit function would be is it easy to remember/use, and is it non-intrusive inline with the text?
There 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) would be "better" than markdown.
The 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.
Somehow I stumbled across your post/series back in 2020, and that was my first introduction to Standard Ebooks. Now, these years later, I've produced >60 SE titles, and read many, many more. Needless to say, I'm greatly in your debt! :)
A hasty generalization with a little confirmation bias, perhaps?
$ time keenwrite.bin --version
KeenWrite version 3.6.5
Copyright 2016-2025 White Magic Software, Ltd.
user 0m0.329s
From Claude:
> It's worth noting this is a common perception about Java, and there's some historical truth to it (especially with Swing desktop applications from the 2000s). However, the absolute statement "no Java app... ever" is the fallacy - it's an overgeneralization from limited personal experience to a universal claim.
> There is no way to get your jar + the vm into a binary.
My text editor, KeenWrite[1], offered binaries for Linux, macOS, and Windows. The Windows binary was axed due code signing costs and requiring third-party builds, rather than any technical issues with cross-platform packaging.
One way is to create self-extracting executable binaries using a tool such as warp[2]. I've built an installer script[3] (install.sh) to create platform-specific launchers. Running `time keenwrite.bin --version` on Linux shows 0.327s; after the first run, subsequent launches are quick.
Please see:
* https://impacts.to/downloads/lowres/impacts.pdf
* https://keenwrite.com/docs/user-manual.pdf
* https://keenwrite.com/blog/2025/09/08/feature-matrix/pdf/jek...
* https://keenwrite.com/blog/2025/09/08/feature-matrix/pdf/sof...
Those are Markdown documents typeset using ConTeXt. Except for Jekyll & Hide, I wrote them all.
reply