I guess yea I'm impressed, but to me the whole point of Markdown is that it's dirt simple. You can edit it and use it without any kind of GUI and have a pretty good idea what you are going to get. You can create it in VIM in a terminal, and trust what you did is going to look fine. Heck you can just look at the raw .md file and read it just fine.
But then you start adding to it. Soon you find yourself looking up all the odd new commands. And wishing for a WYSIWYG editor because you can't remember the commands or not sure what it will look like without the live render.
It's a bit like saying, "Hey this QWERTY keyboard is nice, but what if it had keys for all the Cyrillic, Devanagari, Chinese, and Arabic characters too? Wouldn't that be great?" Well, yea. But you just put the hunt back in hunt and peck.
To me, one of the big features of markdown is it's half WYSIWYG.
By that I mean, the basics reuse the way we faked formatting to do real formatting. The input is (usually) perfectly readable on its own.
Even if you don't know (or remember) how to author a markdown file, you can probably still read it just fine. The tables still look like tables. The paragraphs are just paragraphs.
I do still have to look up how to do stuff in markdown sometimes. And that's fine. Your active vocabulary is always smaller than your passive one.
So the way I judge this is by how readable the input is.
I'm not sure how well they succeeded at that. A lot of what they show doesn't really add to or take away from that.
But I didn't see any examples of them formatting math. I only rarely use LaTex. And when I do, it's not because I need a "paged" mode or need to include an author. It's because I need to format something markdown can't do, and that's usually a math equation.
So I am curious how that ends up looking.
That’s exactly why I built Quarkdown. Flat learning curve for basic formatting, powerful customizations for the rest. Spot on!
I think that's an interesting idea, but you hit the landing page and there's loads of syntax thrown in your face and you're like, man, I need to learn a lot.
But I think this kind of brings up another problem, which is that you can choose not to use stuff if you're writing, but if you're reading other people's docs or editing them, then you need to know all the syntax they use. Most OSS projects with markdown docs today, anyone can open an MR to improve them.
That's a good argument. However, Quarkdown is still a strict upgrade over typing latex directly or whatever, and you get more predictable results and better compatibility with LLM-assisted editing than with a GUI editor like Word.
Who types latex directly anymore these days?
I just typed my entire PhD thesis in latex earlier this year
Going to work on a Quarkdown with even more Superpowers and a seamless UI/UX so you don't need to remember all the odd new commands.
I shall call it Microsoft Word.
Since it’s an upgrade of markdown, you should have called it "markup".
"updoc" is still my favourite joke name. A long time ago (predating E lang's updoc afaict) I wrote a toy markup for semi-technical docs, named so with the specific intention of dropping it casually into conversation. Still funny :D
This sounds to me like it might benefit from some sort of "hypertext" functionality to allow for easy linking of documents
Now you're cooking with gas. Maybe it could be some sort of semantic markup language so we can separate and annotate things like titles, headers, links, and all of that stuff.
I would like to include some dynamic content in my documents. Could we include some kind of simple scripting language?
Maybe call it something like that really popular, Java language? But of course, have it share no concepts with Java, because that would be too straightforward.
This is very interesting. I imagine the links of these documents to each other could be visualized as a web of some sort.
Price accordingly.
I chuckled
See, that's the Markdown-Word spiral i was talking about...
As I'm writing a small markdown renderer, I find it difficult to even find a name for it, let alone get people to use it once it's ready. So I guess the ol' Markdown is too standard for a "plain markdown" editor to stand out today. Only tools that are polished and dare-I-say full of features beyond normal markdown can stand out from normal Markdown editors to make it into the front page of HN. Sort of natural selection I guess.
That’s truly one of the best compliments I’ve ever received along my dev journey. Thank you.
I was just reflecting on what I saw/thought! But sure, take it as a compliment, the website and branding are amazing, I'm (positively) jealous of how good they reflect on the product, congrats.
I posted it on my X, hope you don’t mind!
FWIW, Obsidian.md makes a fantastic WYSIWYG editor for basic markdown.
I would really like to see a comparison of all these tools/markup languages:
- MyST
- Pandoc
- Quarkdown
- Quarto
- Typst
Quarto and pandoc both use Pandoc Markdown (and so does https://www.zettlr.com/). But Quarkdown and Typst offer programmable markup languages like LaTeX (or HTML + Javascript). It seems the winner for the title official LaTeX successor is still not decided.
I used (and will continue to use) most of those. Quick rules of thumb:
- markdown is .txt with just a tiny bit of syntactic sugar/syntax highlighting, and you can export it to pdf or html
- quarto is markdown-but-I-want-to-execute-code-blocks-inside
- typst is latex but modern, with 90% less cruft and 10% less functionality (academia, hating everything modern, will also hate you if you use typst)
- pandoc is how you export to pdf/html/whatever
By and large, it’s obvious which tool is needed when. There’s of course more, like asciidoc, but I struggle to think what isn’t being covered by the markdown/quarto/typst combo. Some wysiwyg editor maybe?
> (academia, hating everything modern, will also hate you if you use typst)
I chuckled. I'd love to try out typst when the time comes. But for writing a journal paper, it's still going to be latex.
I'm sorry, what exactly is the issue with typst?
No issues per se, but academic publishing has deep roots in the latex ecosystem. So templates from publishers are often not available in typst, or the publisher insists on a latex formatted file.
Often supervisors/professors etc will also resist using typst because of the cognitive overhead on their already oversubscribed time. Typst has about 40 years of history to overcome and that will take a long time to do.
Everything you say is true, although Typst is making slow headway¹.
Also, it’s possible, using some Pandoc magic², to enjoy aspects of Typst markup while generating a LaTeX document.
They made a new format with basically no accessibility. We finally got latex usable by blind people with acceptable html output, I’m not moving to something worse.
In what ways is HTML produced by transpiling LaTeX more accessible that HTML produced by Typst?
The HTML generated by LaTeX is currently very good (you can read basically every paper on arXiV in HTML). The html generated by Typst just.. doesn't really work currently. I checked a few weeks ago, tables didn't output sensibly. Looking at the docs their plan doesn't seem to be to aim for total coverage in general.
I really wanted to like Typst. No more latex would be fantastic. Decided to use it for a project, and had to give up and return to latex, just too many corner cases. Both things its missing from latex, and lack of Pandoc convertibility. Really hope it gets the last 10%
Pandoc lives in a different tier because it gives you arbitrary filters so you can do any transformation you want on the intermediate JSON format. And it converts anything to and from that JSON format. So I prefer Pandoc based systems because anything the tool doesn't do that you want is probably implementable with a simple inline filter.
Consider djot for the comparison list too.
It seems like a well designed and thorough superset of markdown.
You mean like this? https://github.com/iamgio/quarkdown#comparison
That doesn't include Quarto, which seems like the closest alternative
I'm not familiar with Quarto, feel free to update the table in a PR
Memories are failable :) Here is the PR you merged June of last year, changing the file extension from `.qmd` to `.qd` after a discussion about Quarto: https://github.com/iamgio/quarkdown/pull/90
Of course, just saying I'm not familiar with the language itself and its capabilities! :)
> a comparison of all these tools/markup languages
It can take a long time to draft such comparisons; I crafted one for my own Markdown editor, which uses ConTeXt instead of LaTeX:
https://keenwrite.com/blog/2025/09/08/feature-matrix/
Feel free to use it as a starting point for your own research.
I don't think Typst fits in this list. They never claim to be some sort of markdown or have any overlap with it, and their core product is the compiler, not the language. Just because they added some syntactic sugar that sometimes somewhat resembles markdown doesn't make it a competitor.
That "syntactic sugar" encompasses the entire value proposition of markdown, there's nothing stopping you using Typst to author blog posts or take notes, they even have HTML export.
Asciidoc was the sweet spot of features and readability for me. Really wish it had more tooling.
- paged.js[0] heeds the slow crawl towards the CSS paged media module, eventually allowing some truly great page-setting DX out-of-the box which it currently polyfills.
[0]: https://pagedjs.org
I've produced a staggering variety of documents with Typst. Books, booklets, slides, cards, documentation, everything. In most cases I only need a minimum of custom styles and behaviors at the top, and very occasionally a whole styling module. Blows the rest of these tools out of the water full stop.
Yeah, I would really like if people who introduce a new project to an already very crowded space would start the introduction with "Why MyCoolProject instead of X?" section.
I am currently enjoying WYSIWYG with GNU TeXmacs for long-form or scientific text editing. Both, the concept and the tool, are amazingly capable and a breath of fresh air after all the LaTex, Markdown, Org s …
Almost nobody uses TeXmacs it because those who might be interested need LaTeX and its packages. This is not LaTeX. (In the future these authors might all be using Typst, but not this thing.)
Thanks. The list also includes https://mdxjs.com/, which I have never heard of.
My quick take: this is basically just Markdown with LaTeX-style macros, except they're called functions, presumably because at least 1 of them has side effects (the one that defines new functions). I appreciate the syntactic purity of "everything is a function", but the casual integration of structure (html) and styling (css) smells a bit off, but I suppose that line was already blurry anyway.
This is cool. I think you'll find a lot of skepticism here for anything that tries to significantly alter markdown. I understand some of the criticism that functions can degrade source readability if overused. Sometimes Turing incompleteness is a virtue. But as far as adding functions to markdown goes, this is probably among the cleanest designs out there.
By the Standard Model of Physics Software you can edit Quarkdown in Atom to get Quarkup and change your Neutron Mail to Proton Mail, but it only works if you type with your left hand and create an Electron app and an anti-Neutrinos AI blogpost.
love this
Pure art
Quarkdown author and project lead here. I started Quarkdown as a uni research project and couldn't imagine what it would end up being 2 years later. Thanks for engaging! I'll try and respond to your comments.
Would you consider "fixing" the bold syntax on v3?
I have always believed that instead of **bold** and *italic*, it should be *bold* and _italic_.
That extra asterisk is a poor design decision in markdown. It really makes it inconvenient to edit Markdown on a phone or tablet.
It always bugs me that _underscore_ is the syntax for italics rather than underline.
I’m sure back in the old days of READMEs, long before markdown was a thing, the conventions were this:
/italics/
_underline_
*bold*RFC 1855, Netiquette Guidelines[1], specifies underscore for underlining. However, it says asterisks are for emphasis, not bold, per se. They just happened to (often?) display as bold because italics in terminals weren't a common thing. For the same reason, using /'s for italics didn't make much sense except maybe in word processors. I also suspect underscore become conflated with asterisk because some people preferred using the former for emphasis--people weren't usually trying to adhere to professional styling guides, and some people may have preferred underlining to impart emphasis, or just got into the habit without thinking about it.
I don't know how well RFC 1855 reflected common practice, though. It might be worthwhile to check the rendering code in clients like tin and mutt.
Since this seems to boil down to personal choice, has anyone considered a customisable alternative? Like a frontmatter that declares which character is bold, which is italic. You could easily convert between them according to local preference, much like tabs/spaces.
My /usr/bin/ folder wants to know which bit gets italicised :)
I know this is a throwaway joke, but I was interested anyway...
According to my own local Markdown formatters, the answer would be both "usr" and "bin", with the surrounding slashes removed, but the internal slash remaining. In other words:
usr/bin
(but underlined instead of italic!)
Of course, this problem is nothing new since a filename might easily be named `_my_file_`.
Same as in my_snake_case_name :)
Org mode uses / as well.
Not planned, CommonMark compliance is a strong trait of Quarkdown's identity
It strikes me as odd to add functions to a text format, given that even in GUI documents macros are usually avoided. Was Quarkdown designed for complex and repetitive documents?
Thank you for volunteering to field questions.
Quarkdown was designed for control. Simple Markdown to define content, functions (LaTeX-style, but not macros!) for a declarative approach to document format and styling.
Scripting came out naturally, so why not. Since v2 QD comes with a permission system that makes things safer.
Is it like CSS for HTML?
> why not?
I wonder.
> Since v2 QD comes with a permission system that makes things safer.
That’s why not.
You got your JavaScript in my HTML.
Seriously though… it might be a useful feature. Or it could kill your product’s focus. Sincerely, good luck.
I read https://iamgio.eu/2025-12-10-accidentally-in-silicon-valley/ and it appears it worked out well – I'm happy for you!
Thank you! This project is giving me so much fulfillment
For my app, I chose a slightly different approach, focusing on readability and easy handling of large Mermaid diagrams. For example, I recently added a full-screen mode with map-like navigation: https://mdview.io/s/97af684b
On a quick read of the docs I'm a bit worried Quarkdown doesn't have the right evaluation model for the job. Text layout typically iterates to a fixed point, because adjusting the layout of one part of the document can throw out layout at another part, require another layout pass and so on. Typst has the concept of context[1] for this. I didn't see anything in Quarkdown that seemed similar, though perhaps I missed it.
I switched from pandoc / md / LaTex to Typst for my book[2], and have been very happy with it. Programming in a modern language is nice, and Typst is much faster than pandoc + LaTex.
Cool. The biggest question for me is: Why not LaTex or org-modes?
Tex is the superior typesetting, and since the advent of LLMs getting things done in Tex became a breeze.
Org-mode is the superior universal markup for, well everything, only downside is the default editor.
Nice! But in the Comparison should be MyST - https://mystmd.org/ This is the new markdown standard to be….
Or even Typst (not an extension of Markdown, but it has very similar goals and use cases).
Myst with Sphinx is great. I miss strong LSP support though—or at least I didn’t manage to get it run in helix. I built my blog with pydata-sphinx-theme and myst
I'm not familiar with it. Feel free to update the table in a PR
I having a proofreading project and have been storing structured text using an s-expr serialization of XML. But MD is just so convenient that I decided that starting from scratch and building around the idea made sense. I considered typst for a while but... while it is a good intermediate format if you want to produce PDFs, it is not a good and permanent storage format. Even looked at quarkdown I believe. Same opinion.
So I came up with a mini markup language built around directives and fenced blocks. A simple template import allows MD semantics (the stuff I care about) in the project. The idea is that the core is stable. You simply write schema validators for your schema and transformers for the output format. Probably 2-300 lines of python all-in-all for a "book+chapters" schema with an html transformer.
I did not fall into the trap of implementing a Turing complete programming language in it like so many other systems. If you want behavior, piggyback on directives and write a python transformer to manipulate the AST.
I got interested in something else soon after, so it will probably be a few more months till I have the time and the inclination to finalize and publish everything.
As an SSG user, I prefer the cleanest markdown as input, and putting all the formatting details into the CSS. E.g. I don't need `.abstract`, the CSS will format the first paragraph as an abstract without me asking explicitly.
OTOH I see this as a way to produce more rich self-contained documents. There's no CSS, but there's a bunch of predefined styling options. I can't help but see the early HTML in it. HTML 1 did not have colors and barely any formatting, comparable to Markdown. HTML 3 had stuff already like <center>, etc.
It breaks the whole idea of Markdown - to be as natural as possible. This is like markdown with CSS Slap in , such a disgrace. It is not simple and as ugly as CSS.
Seems amazing, but more demos/examples would be nice, and installation instructions right on the homepage. Web editor would be great. Seems to be written for jvm :( The language spec is amazing and styling is slick.
It's nice in that it extends markdown rather than reinventing a different syntax.
But the point of markdown, is to simply, markdown. Everything beyond that is deemed superfluous and cumbersome as it would defeat the point. Just write things down.
It's the right balance between plain text and latex and the rest.
I really like the docs idea. I think it’s great to automatically render the side menu.
The prevalence of Markdown from agents made me work on something similar too. My Show HN for a similar cli + web based solution (https://sdocs.dev) was on the /show page a few days ago (https://news.ycombinator.com/item?id=47777633).
Sdocs is cli -> instantly rendered on web
I like the fact it doesn’t require you to install anything to get a great experience.
Despite being in the browser, the content of SDocs rendered Markdown files remain local to you. SDoc urls contain your markdown document's content in compressed base64 in the url fragment (the bit after the `#`):
https://sdocs.dev/#md=GzcFAMT...(this is the contents of your document)...
The url fragment is never sent to the server (see https://developer.mozilla.org/en-US/docs/Web/URI/Reference/F...: "The fragment is not sent to the server when the URI is requested; it is processed by the client").The sdocs.dev webapp is purely a client side decoding and rendering engine for the content stored in the url fragment.
This also means you can share your .md files privately by sharing the url.
I’m working on a few new features at the moment:
1. Commenting (so you can easily comment on a markdown file and feed that back to your agent)
2. A powerful slides functionality
I really hate it when the recommended install method is curl-ing some script directly into a shell, often as root. Especially since it's pretty well known that the remote end can tell whether it's going to a script or a file.
Quarkdown's page has this:
curl -fsSL https://raw.githubusercontent.com/quarkdown-labs/get-quarkdo... | sudo env "PATH=$PATH" bash
And… yuck. And that ".sh" is kind of annoying all by itself.
Been using Typst recently and really like it compared to LaTex. Pretty nice way to write things out and kinda like markdown in some ways but completely different in others. In my mind it's like a Markdown LaTex hybrid.
I was looking for something like this, but would love if it had CV formatted doc. I just want something easy to update, but easier to version control Vs docx.
You can achieve any layout you want thanks to the .row, .column and .grid function. A built-in CV template library is planned for the next minor release (https://github.com/iamgio/quarkdown/issues/472)
After looking at it for 1 minute, it seems that this is to markdown what CSS is to HTML.
How accurate is that?
Quarkdown is a step in the right direction. One step closer to HTML.
Tough call. I think Markdown is not an authoring tool at all. In fact if you read through the changelog of GitHub Markdown, you will read a very detailed critique of the shortcomings of MD.
It isn’t a specification. This is MD’s biggest weakness as well as strength.
## can be a subheading or heading level 2.
How about an empty line between paragraphs or after headlines?
After reading this I consider MD an idea. A fantastic idea but not a spec.
Commonmark (https://commonmark.org) is a specification designed to address this issue.
How does it replace Obsidian though? I somehow think the author does not fully understand that knowledge management systems are inherently interactive and need to handle queries like in databases because they are databases.
If it were simple and easy to remember complex plaintext syntax, we'd all be using LaTeX to do things. Unfortuantely, thats not true. Personally, I even switch away from rst to md. Took me a while to realize, but md is easier to remember / less magic.
Or just use Asciidoc...
According to the wiki, Quarkdown supports cross-references in the same document, but not cross-references across many documents.
The wiki explains Quarkdown’s concept of subdocuments. A subdocument gets created when linking to another Quarkdown/Markdown file and populates a graph. Subdocuments inherit the linker’s properties but are then independent sandboxes that get compiled independently.
A cross-subdocument cross-reference is such a niche use case that I don’t feel like it should break this design choice.
Soooo, Typst?
I don’t think adding things to markdown is a good way to go. Markdown is just a poor language, period. Alternatives like Asciidoc make much more sense IMHO.
Wow I love this !
I think we can have this as a plugin in https://voiden.md/
Thank you!
demos look super clean!
I try to support multiple formats on my app: typst, mdx, marp, reveal, latex.
i think it should be possible to add support for quark down too
https://sublimated.com/docs/typst https://sublimated.com/docs/typst/demo/article.typ
Looks nice, but also the website is really nicely done. How did you make the animations?
Thanks! Dynamic animations are from GSAP
What’s GSAP?
Frontend animation library
I became a big LaTex fan (from my time studying Physics)... So glad to see people expanding on it. Nice work!
Thanks!
Before you know it we'll have re-invented LaTeX for a new generation.
This could also be a cool export/exchange format for Google Docs and the like.
maybe I'm being dense, but why do people keep reinventing markdown to make it more like HTML when HTML exists?
Easier to read, easier to write. On top of that, Quarkdown runs compile-time logic and scripting.
The nice thing is that with LLMs using markdown we are getting a nice ecosystem for a universal method for communicating textual information. The negative is that Markdown is starting to look like the https://xkcd.com/927/ cartoon.
The silly part is having n+1 Markdown standards that all end up rendering as HTML anyway. Personally if it's a plain text file sure, basic Markdown is fine, beyond that just give me some kind of rich text editor that stores as HTML and let me do whatever and not have to hand format a Markdown table.
Any AppImages planned for the future?
Another markup language that looks like RUNOFF from the 1970s. I used to use RUNOFF for my term papers.
I'll take that as a compliment
No problem!
Org.
Org is what you're looking for. Org Mode in Emacs, and all the org-* packages that make it so unbelievably useful. LaTeX integration, task management, scheduling, word processing, embedded images (if you must)... Org.
Wait, we created the unholy unity of troff and markdown?
Kidding aside, that kind of misses the point of either.
When reinventing markdown turns into recreating roff.
I feel like a lot of people don't know about the power of the roff suites and that it is installed by default on a lot of systems.
> Kidding aside, that kind of misses the point of either.
I agree, in my view markdown is good because it is simple, if you want to use a proper markup language use roff.
how is it for converting streaming api responses from LLM's?
LLM's aren't too familiar with Quarkdown's extensions and functions yet. But handling base Markdown is definitely doable. Please keep me updated!
LLM's are an extension of us. We sometimes have to work to learn something new; so do LLM's. It's all in how we manage that process. Reifying information is the whole ball of wax, what separates different people's success rates using AI. AI is more surfboard than self-driving car; you don't just tell it which way to go.
I still can't get AI to code well in Lean 4, but I'm writing a parser for a language that doesn't exist. AI understands the language as well as I do.
why did my question get downvoted twice? I'm looking for markdown renders that can take llm output to beautiful markdown format?
So this is actually competing in the typesetting space, likely with Typst. Both aim to become a simpler alternative to LaTeX without that pain in the ass.
I think they are missing an opportunity to fix a poor design decision in Markdown. Instead of **bold** and *italic*, it should be *bold* and _italic_. That extra asterisk really makes it inconvenient to edit Markdown on a phone or tablet. I hope they fix that in v3.