top | item 44167592

Quarkdown: A modern Markdown-based typesetting system

668 points| asicsp | 9 months ago |github.com

273 comments

order

thangalin|9 months ago

My FOSS text editor, KeenWrite[1], takes a similar approach: Markdown -> XHTML -> TeX -> PDF. The software architecture shows how you can have processor chains:

https://gitlab.com/DaveJarvis/KeenWrite/-/blob/main/docs/ima...

I developed KeenWrite to help write a sci-fi novel where I can use variables for character names, places, etc. See the tutorials[2] for details.

For anyone still using pandoc and shell scripts, my Typesetting Markdown[3] series describes building a script-based infrastructure for converting Markdown into PDF.

[1]: https://keenwrite.com/

[2]: https://www.youtube.com/watch?v=CFCqe3A5dFg&t=15s

[3]: https://dave.autonoma.ca/blog/2019/05/22/typesetting-markdow...

techtalsky|8 months ago

I was really excited when I read your post. I've long looked for a good MarkDown -> PDF or RTF workflow, so I gave KeenWrite a quick try. At first glance I really thought I'd be exactly the user for this tool, but quickly realized that the discoverability of KeenWrite isn't nearly good enough.

Upon launch, I'm presented with three panes. I've got a MarkDown authoring interface and an output preview. Great. I drop in some markdown and it renders.

Then I have a "variables.yaml" pane open with three little controls, "Create", "Rename", and "Delete". Ok... I'm editing a YAML file. But it's a clunky nested node editor. People can edit a MarkDown file but you don't think it's faster to simply let people edit YAML in text?

So, I get it, I'm editing a YAML file that stores metadata about... SOMETHING about my document output. Except I don't have a single example of a variable. Not a single one. I have no idea what variables are available and exploring every single menu option tells me nothing. Help only provides a small about page with no link to the documentation.

So, I go to keenwrite.com and click documentation. It takes me to a single GitLab readme that talks about different command line launch options, and then finally how to begin to use metadata, but the options all revolve around creating an .Rmd file and using R or creating a "definitions.yaml" instead of a "variables.yaml" in a seperate editor.

This is the moment I realize there's no chance this tool is going to be useful for me.

yndoendo|9 months ago

For me, the issue is not document conversion and is content de-duplication. Product A and Product B manual will share number of sections. Any spelling or grammar error must be updated in Product A and B manuals. They man share the same additions.

So far LaTex has been the only solution to allow binding shared sections into multiple document builds. These are for internal and customer facing information. Only binding duplication is in the revision overview sections pertaining to each document build.

structural|9 months ago

Would be interesting to see a compare and contrast between this and Typst, which has gotten a lot of attention recently.

Kinda surprising that it isn't mentioned in their feature comparison matrix at all.

msravi|9 months ago

Looking at the "mock" document (https://github.com/iamgio/quarkdown/tree/main/mock) which is supposed to be a comprehensive and detailed guide for all visual elements, I don't see ways of getting anything other than basic markdown tables. How do you get merged cells? Cell formatting? Typst has some nice ways of implementing sophisticated grids and tables.

Also how do you implement things like different page numbering for front matter content and the main content? In general, the "simplicity" of markdown seems to be taking away a lot of granular control that people use LaTeX and Typst for.

junon|9 months ago

Last I checked Typst can't emit HTML.

shark1|9 months ago

It is mentioned now. Btw, it looks very similar to.

blenderob|9 months ago

Is the comparison table accurate? - https://github.com/iamgio/quarkdown#comparison

Surely LaTeX has full scripting ability even though I wouldn't wish such a punishment on anyone.

Surely Quarkdown's gibberish like syntax is not more concise and more readable than Typst?

And surely the learning curve is not easier than Typst? I'd say the learning curve is more or less the same as Typst.

Surely LaTeX can also produce HTML with tex4ht?

nonethewiser|9 months ago

>And surely the learning curve is not easier than Typst?

To be fair, (most) markdown is valid Quarkdown. Barrier to entry really doesnt get any lower than that. Of course the learning curve is not fully synonymous with the barrier to entry, but it's a significant part.

And "learning curve" is really such a subjective quality. Kinda fucked from the start once you put it in a comparison table. Explicit features are more objective but even then sometimes products dont NEED certain features because of their design.

flenserboy|9 months ago

Pandoc is your friend for this and many other use cases.

kccqzy|9 months ago

I mean one can take a quick look at what has been accomplished in TikZ and pgf to figure LaTeX and plain TeX's scripting ability.

The comparison table is clearly inaccurate.

account-5|9 months ago

How is this different from Quarto [0]? Quite similar in name, same extension, appears the same aims, but at the minute less functionality.

[0] https://quarto.org/

tecleandor|9 months ago

I guess that the similarity of the names come from different places, and in this case might be a remembrance of QuarkXPress. It's convergent evolution! :D

riedel|9 months ago

Was going to ask the same question. Was talking to a friend just 2 days ago who redid all his lecture scripts with quarto and embedded the lecture presentations. Looked neat. Also that quarto interacts well with R studio and jupyter notebooks comes as a big plus.

looneysquash|9 months ago

The sample outputs look nice!

But I always hate it when a templating language grows function calls and all of that. Maybe it makes sense in this context, I'm not sure.

But if you end up using it together with another language, maybe for server side rendering or some kind of document from data generation, you quickly realize that switching between the two languages wastes a lot of time, and the templating language is never as powerful as the "real" language. So I prefer JSX, or something like Javascript's tagged template literals. Something where you use a real programming language, but where the context of the document is understood, so you don't have to worry about escaping or XSS.

rendaw|9 months ago

This, Typst, etc etc are primarily typesetting systems for papers.

I would love alternatives to HTML or whatever, but I tried Typst too and it's very clear that the authors only really care about typesetting for papers and other long form prose. Stuff like forms, invoices, flyers, handouts, leaflets, business cards -- an afterthought, at best.

Edit: Actually I was thinking of Sile not Typst, but I think the same applies to Typst too. I didn't dig into Typst too much because it was commercial though.

blacklion|9 months ago

> Stuff like forms, invoices, flyers, handouts, leaflets, business cards -- an afterthought, at best.

It is because you can typeset beautiful long text algorithmically and all these small forms like invoices and flyers are more graphical design than typesetting: you need to place many small elements precisely, not relative to each other but to the edges of the page / optical centers / etc. It is not very convenient without WYSIWYG. Possible, yes, but will require many trial-and-error when in WYSIWYG layout program can be done from first try.

Think about tabloids too: text, which wraps around non-rectangualr images, cut-outs, etc. Hard to do without seeing what you do, only with text and coordinates.

Edit: typo test → text.

andy12_|9 months ago

Is there any reason why you can't use Typst for any of the stuff you mentioned? I can't see why you couldn't (except for interactive forms, which is already being worked on [1]. The pdf-writer low-level backend seems to have already implemented support for form fields, so it seems like a matter of time until it is implemented in Typst).

[1] https://github.com/typst/typst/issues/1765

freefrog334433|9 months ago

The online editor is commercial. They have a github repository releasing Typst under an Apache 2.0 license for free. I installed it using cargo (Rust), and don't use the online editor.

fmoralesc|9 months ago

You can use typst locally and bypass the commercial bits. It is really easy to create different kinds of documents with it. I have been using it to create slides and handouts, and for that I already find it much easier to use than the alternatives.

dvdkon|9 months ago

My first "real" usecase for Typst was a poster [0], since it was much easier than doing it in LaTeX. It's missing some features, like wrapping around figures and flowing text between boxes, but TeX doesn't have the second either and both are planned in Typst.

[0]: https://dvdkon.ggu.cz/projects/pppql/poster.pdf

kzrdude|9 months ago

I might be using Typst wrong, but it's like a visual programming environment. I guess I found my jsfiddle or other tools that other people use.

It's very satisfying to play with visualizations in Typst, especially since it updates the output so fast (instant for small projects).

cbarrick|9 months ago

This just looks like reStructuredText.

Quarkdown:

    .somefunction {arg1} {arg2}
        Body argument
rST:

    .. somefunction:: {arg1} {arg2}
        Body argument

krick|9 months ago

Since 70% of comments under each of these posts are always "why not LaTeX?!", I want to start by reaffirming: yes, I do want a modern Markdown-based typesetting system. There even is a place of several of them. It would be absolutely nice to replace LaTeX, simply because it's old trash with remarkably inconvenient syntax, so, yes, a system with full control over markup is desirable. And if it necessarily increases verbosity, then there absolutely is a place for something "just a touch more powerful than markdown".

However, at a glance it doesn't strike me as what I was looking for. There aren't too many examples, but it seems like it leans heavier towards "just a touch more powerful than markdown" rather than to "replace LaTeX" (or Typst, for that matter). And for the first scenario to play out, it must be really seamless to use. This one doesn't seem to be.

1. Just to take care of the elephant in the room: JVM. Same as many others, I won't even bother installing it to try it out, so it doesn't help virality much.

2. I don't like the syntax. It needs to be as compatible with plain markdown as possible, and this one isn't quite. My main issue is with argument to a function being tabulated. It seems like it will lead to the whole document being tabulated. It is a natural for markdown-compatible add-ons to employ a code/monospace blocks, but ```plugin-name is a better way to do it, because it doesn't mean you have to reformat your whole document when you decide to step off from plain markdown.

3. Since a "better markdown" is something more suitable for something that starts as your personal notes (if you are specifically working on preparing a document for publishing, indeed you can just do it in LaTeX as well), I suppose it's only useful to an extent it is integrated into your notetaking app. Surely, there are still some people who do it in Emacs or Vim, but even such a retrograde as myself eventually moved on to Obsidian. I want ways to control my document structure better inside my notetaking app with a potential ability to publish. But as a standalone thing, I'm not sure why would I use it. At least Typst has a proprietary online editor. I suppose, that's also how nearly everyone uses it.

deppep|9 months ago

LaTeX is not "old trash". It's one of the best piece of software ever written. Just don't import bs in your document.

AmazingTurtle|9 months ago

Markdown, Quardown, Typst, this and that. This looks to LaTeX. All of this became so confusing and un-standardized - I went back to HTML+CSS.

rTX5CMRXIfFG|9 months ago

You know what, while you're at it, I might as well bring it up. How about XML?

I haven't really tried writing large pieces of text in it but I am already seriously considering. All other alternatives are too complicated and have a learning curve that gets in the way of writing itself. With XML, I'd be able to define my own tags and run them by a parser later on to auto-generate indexable footnotes, and create my own ways of structuring text besides the usual ones (chapters, sections, etcetera). Has anyone tried this approach?

ozim|9 months ago

Well basic markdown is super useful to do stuff quickly.

Problem is when people started to build systems upon systems upon something that should not be used for more complicated cases.

Maybe not a problem because I don't care but I just see how loads of things that someone created to be "just that" someone takes without understanding and builds on top instead of understanding limitations and scope of the initial idea or system.

It is "oh it is missing a feature" - where it is "no it wasn't built to do that".

I have seen notepad in windows shipping some formatting features, I don't see that as an improvement. Notepad was notepad for purpose.

setopt|9 months ago

There’s also the mature and reliable Org-mode, if you don’t mind Emacs as an editor.

eGQjxkKF6fif|9 months ago

Same. Replacing elements in with DOM in webdev is surprisingly fun with websockets too.

Having to know and learn 300 clunky frameworks, 97 different syntaxes it gets old.

HTML. CSS. Javascript.

Ask the AI to give me a markdown to html converter, good2go

aitchnyu|9 months ago

If 2005 text editors autocomplete made it easy to balance and indent html/xml tags and syntax highlighting like today, would JSON, Yaml, Markdown have taken off? In The Art of Unix Programming from 2003, the author states editing xml by hand is torture, hence we must invent unique text formats and parsers for the same.

360MustangScope|9 months ago

Ah yes, writing my notes down in css and html. My favorite!

Seriously though, every time some new hotness comes along, you don’t really have to use it or even waste your time looking at it. Markdown will likely be here after all of its derivatives are long gone.

silvestrov|9 months ago

    .function {greet}

    .greet {world} from:{iamgio}
I strongly suggest that the greet call uses a slightly different syntax (e.g. two dots) as the system otherwise can't introduce new keywords without risking conflict with function names in existing documents.

zelphirkalt|9 months ago

Does it need more keywords? This syntax reminds me of Smalltalk syntax a little and Smalltalk famously got away with merely 6 keywords. I didn't check the syntax in detail for quarkdown, and I don't expect it to be as well thought out as Smalltalk, but it is quite possible to get away with only few keywords. Question is then how complete their concept is right now. Also there could be a versioning mechanism, that labels a document as for a specific version of Quarkdown.

maxloh|9 months ago

A backward compatible design would be resolve to user-defined functions first, built-in keywords afterwards.

That way any new keywords won't be a backward incompatible change.

Lammy|9 months ago

> What could be mistaken for a planet is actually a quark or, more specifically, a down quark, an elementary particle that is a major constituent of matter: they give life to every complex structure we know of, while also being one of the lightest objects in existence.

Cool project, but seems dangerous to use the word “Quark” in a publishing context RE: QuarkXPress:

- https://tsdr.uspto.gov/#caseNumber=90886976&caseSearchType=U...

- https://tsdr.uspto.gov/#caseNumber=97009034&caseSearchType=U...

(Why do they have two for the same word?)

TheEdonian|9 months ago

I like it for what it is, a layer on top of markdown. That said, the main usage of markdown for me is that it's just the content and it doesn't have any opinions on the layout let alone logic.

I can add those with the use of css/js for web and interpreters and themes for print/non web.

bryanhogan|9 months ago

Interested in this! Recently wrote a thesis. Wanted to use markdown, but that had too many limitations.

After learning and using LaTeX for a bit I got used to it, but the overall experience of setting it up and its usability leaves a lot of room for improvements. But on the other hand it's established in academic writing.

Do hope to see something based on markdown be able to replace LaTeX in the future.

ants_everywhere|9 months ago

With Emacs and AUCTeX and a few macros for tab completion I could generally transcribe a math lecture in real time. If you're using completion then the verbosity isn't a downside and in fact helps add structure for automation.

The main drawback for writing something like a thesis is that LaTeX not great to outline in. I think for my thesis I ended up doing initial drafts in org-mode and exporting into LaTeX to view it.

Then once the overall structure took shape I edited the LaTeX directly. Otherwise you end up having to embed LaTeX markup in your markdown doc because markdown is underspecified compared to TeX.

Onawa|9 months ago

Quarto is probably what you're looking for. It's what we've been using for scientific publications in gov science research labs the past couple of years. Can output to LaTeX and incorporate templates and such.

ryukoposting|9 months ago

Very intriguing. I write my resume in a blend of LaTeX and Markdown, use Pandoc to convert the file to LaTeX, which then gets turned into a PDF. This might be a tidier solution on the front end, though I like my current flow because the maturity of all the tools means I can come back to my resume after several years and it'll still compile.

francislavoie|9 months ago

Very cool, but CLI tools with a JVM language? :( I'd be much quicker to try this out with a static binary.

codychan|9 months ago

It was cool until I saw it needs gradlew to build and Java 17+ to be installed.

xvfLJfx9|9 months ago

Interesting, but I wonder what does this offer that typst doesn't?

g0db1t|9 months ago

[deleted]

enriquto|9 months ago

The comparison to LaTeX is a bit unfair... the latex code is much larger than it needs to, and does things that the quarkdown doesn't (like floating the figure in the page).

Once you remove that, both versions look essentially equivalent and just as readable.

eviks|9 months ago

If the sea of backslashes and \begin/end and \includegraphics doesn't disappear, no, latex doesn't look equivalent

randomtoast|9 months ago

I would like to have a compiled demo PDF available for download, along with a direct comparison of the same paper created in LaTeX. I would like to see the differences both on screen and in print.

quaintdev|9 months ago

Typst is missing from comparison

atoav|9 months ago

Is this standalone, as in: an actual file format people can use? From their website it looks like it won't work without using their service or hosting something yourself?

jamesgill|9 months ago

Instead of bolting an engine onto a bicycle to travel long distances, why not just use a motorcycle?

xnorswap|9 months ago

Because muscle-memory is a powerful force, and it's a convenient universal input language.

It's why after years of powershell I still reflexively reach for "ls" not "Get-ChildItem"

( "ls" is aliased by default to Get-ChildItem thankfully! )

Markdown is familiar, easy to use, and very human readable and editable without fear of breaking a compilation step.

Typesetting languages however, TeX, LaTex, postscript or the nightmare of the PDF spec, are not.

If I send someone who doesn't know anything about a document markdown, then there's a good chance they'll be able to make simple edits in their favourite text editor and not screw things up.

If I send someone HTML, they'll likely be able to do simple edits but there's greater risk of breaking elements or styling. Not as bad as with stricter languages, but still significantly more chance than with markdown annotations.

If I send someone some TeX, they'll probably not know what to even do with it, they'll likely get confused and ask for a file format they can use.

Reducing how many different languages we have to master is important, so I think it's great if there's a way to write everything in flavours of markdown.

Write markdown everywhere, and let the backends compile to relevant outputs.

In this instance, it's left perhaps a bit function-heavy so there's still larger "risk", but that's likely something that can be solved through templating.

We have flavours of MD, for github issues, for typesetting, for stackoverflow questions. Slack and Discord have (limited) MD support. We can write blogs in MD through jekyll.

MD is everywhere, it's a convenient universal input language.

blenderob|9 months ago

What's a good motorcycle for typesetting? Any recommendations?

rcarmo|9 months ago

I was a bit surprised to see Kotlin as the main language (I quite like it, but had to move away from JRE-based anything) I hope it can be built as a native binary...

jillesvangurp|9 months ago

There is kotlin native these days; so not impossible.

Kotlin is kind of nice for this stuff; which is probably why they picked it. IMHO Kotlin is undervalued as a python replacement; it's pretty convenient for a lot of data processing stuff. And being able to use whatever Java libraries are around is also not a bad thing.

Anyway since it is kotlin, you could use kts (the scripting support). You'd still need a jre and kotlin installed but it would make it easy to invoke from the command line and it would be able to pull in jar file dependencies straight from maven central. There might also be a possible path to build this thing via Graal and package it up as native. Another option is to package everything with docker and call it with a simple shell script. And finally, Kotlin has a native compiler as well but I assume there are too many jvm dependencies to be able to use that.

So, there are a few options here to make using this more convenient.

ChuckMcM|9 months ago

I get that people don't like the braces in TeX but ... :-)

I'm only half sarcastic here, I don't like them either. I have recently been using pandoc[1] to do the things they are talking about, I had added some stuff in perl using the Template Toolkit[2] to make HTML pages. My issue is that I have very different fugue states for writing vs. coding. Switching states breaks my flow so I've been trying to make the two modes as orthogonal as possible.

I'm curious if anyone has used something like this to go straight to PNG. My use case is that I have a surplus epaper display that can display pngs it fetches from the network and I've been forwarding it my todo list. Have been doing this with a LuaTeX flow but would like something a bit more seamless.

[1] Pandoc -- https://pandoc.org/

[2] Template Toolkit -- https://template-toolkit.org/

yowlingcat|9 months ago

Any reason to not just use Pandoc? It's been 15 years since I ran into this problem, but even at that point Pandoc made it pretty easy to go from Markdown -> Latex and then render from Latex -> PDF. The benefit of this pipeline is that if I needed to fine tune any of the Latex there was flexibility to do so.

formerly_proven|9 months ago

Looks kinda like restructuredtext, but with exactly half the dots and 100% more curly braces.

WorldMaker|9 months ago

Which is where MyST [0] gets its structural cues. That's another alternative missing from the comparison table of this project, and an interesting one for how much it seems to be going for the science community that loves Jupyter notebooks.

[0] https://mystmd.org/

skwee357|9 months ago

This looks very interesting and more approachable than Typst.

As some who uses headless chrome to turn html into pdf (for invoices), I have been looking for something simpler and faster.

I tried typst, but it felt messy to me. I wonder if quarkdown offers more streamlined experience

skwee357|9 months ago

Had a chance to read the wiki/docs deeper. Quarkdown seems to use puppeteer and chrome-print-to-pdf to generate PDF from HTML [1].

So, aside from the more minimal format or Markdown compared to HTML, I don't see much appeal in quarkdown compared to feeding HTML to a headless chrome instance.

But it is a cool project if one wants to turn a bunch of markdown files to say a book or an article.

[1] https://github.com/iamgio/quarkdown/wiki/pdf-export

promiseofbeans|9 months ago

WEasyPrint is great for generating invoices from html!

https://weasyprint.org/

Also the only good implementation of web layout/rendering I've seen done in python.

dev_l1x_be|9 months ago

> I tried typst, but it felt messy to me.

What exactly is messy about Typst?

skrebbel|9 months ago

This is so powerful, it makes me wonder why they didn't just make a new markdowny syntax for Latex so they could reuse everything from the Latex ecosystem. A bit like what CoffeeScript was for JavaScript, I mean.

Timwi|9 months ago

That assumes that the only issue with LaTeX is its syntax. Other issues I can think of are that LaTeX doesn't generate HTML and that LaTeX is completely Unicode-disabled.

eviks|9 months ago

You'll likely lose a lot of the ecosystem since a lot of stuff wouldn't expect such a syntax.

DrNosferatu|9 months ago

Pandoc should have been in the comparison table.

infogulch|9 months ago

I've recently started rewriting basic process documentation into markdown, which also needs to be printed with a simple header and footer. I found that rendering to html, adding pagedjs cdn, and adding a styled header & footer tags looks and prints great already.

It's surprising how close html & css are to being a pretty good layout system.

Faelian2|9 months ago

That's a really interesting project.

I have been generating documents for a while using https://github.com/enhuiz/eisvogel. It's nice to use markdown, but I feel really limited, and can't do much customization.

I would love to see some templates for this.

RollingRo11|9 months ago

I want to move on from LaTeX syntax as much as the next person (hard to read, etc.),

But as a consumer/user, wouldn't a more uniform syntax (large adoption of Typst, etc) be preferable to having multiple different typesetting systems. I feel like the prevailing aspect of LaTeX is its universality?

(Then again, who hates options).

darkhorse13|9 months ago

Slightly related, but for forms: https://forms.md

klez|9 months ago

I can't seem to understand how their syntax is "markdown-like" in any way. All I see is some sort of declarative language surrounded by code.

codedokode|9 months ago

I don't like the idea of using programming languages for text formatting because it is unclear how to implement a GUI editor for such format.

Also Markdown is pretty bad format, for example it doesn't even have a specification, lot of ambiguity etc. Avoid it.

davidpapermill|9 months ago

Agreed, it's about _imperative_ vs _declarative_ languages.

The problem with languages like LaTeX etc. is they treat a document as a linear sequence of instructions: "write this text", "switch to justify right" etc. - I think that made sense when LaTeX was created, but publishing has come a long way and imperative thinking doesn't help.

A declarative form of document is the way forward. HTML is -kind of- like that, but unfortunately the assumption that a document is a linear list of stuff is still in there. That's one reason it doesn't work well for print.

zzo38computer|9 months ago

Some things I would want to see in a typesetting system:

- Having a typesetting quality and control like TeX does, including mathematical typesetting, although improvements could be made to that, too. (I think I would also like the syntax more like TeX has)

- You can include PostScript codes within the document which can run during the typesetting process (rather than only during output), therefore allowing it to affect decisions of page breaks, etc, as well as allowing PostScript to draw diagrams and control text rendering. (I had written a PostScript program to load PK fonts, so that would make it possible to use PK fonts from TeX as well.)

- Full support for non-Unicode text (without converting it internally to Unicode). (It is OK if it also supports Unicode as long as the code to support Unicode is avoided when not using it (in the entire document or in a part of it).)

cAtte_|9 months ago

do you have some sort of ethical opposition to unicode?

petalmind|9 months ago

What is "non-Unicode" text exactly?

jinay|9 months ago

Please add an llms.txt file! https://llmstxt.org/

I'd love to see how far I can take this by giving it to an LLM and asking it to format for me with Quarkdown.

coherentpony|9 months ago

> Converting complex HTML pages with navigation, ads, and JavaScript into LLM-friendly plain text is both difficult and imprecise.

Oh my god. It just occurred to me that LLMs may have a better experience “browsing the internet” than humans do.

That is so tragically depressing.

jdthedisciple|9 months ago

Looks amazing of course, but usually it is the nitty gritty details where the mess and headache begins. How can I be confident that this is a viable alternative to fully fledged and mature alternatives like LaTeX?

freefrog334433|9 months ago

I've started using presenterm for markdown presentations. Given that markdown is just a format, a comprehensive comparison should find the tools using markdown to export to pdf and epub.

silveraxe93|9 months ago

Do you know how it compares to marp? I've been using it last year and it's pretty nice. I hadn't heard about presenterm before.

- https://marp.app/

asplake|9 months ago

Nice! Any plans for epub?

charlie0|9 months ago

My first impression was this looks nothing like Markdown. It looks cool, but hardly resembles anything I've seen in Markdown before.

glenngillen|9 months ago

I felt the same way, though once I scrolled down to the LaTeX comparison it was more obvious. The first few code examples being how you define a function don't lend themselves to showcasing how markdown-esque the actual usage is.

ouked|9 months ago

Looks cool - is this "backwards compatible" with Markdown? As in, could a Quarkdown file be legible from a regular Markdown renderer?

dariosalvi78|9 months ago

very nice and would be cool for scientific publishing, but without the publishers (or community) offering templates it'll never fly

Aloisius|9 months ago

What's the rationale behind hand coded typesetting these days, besides the cost of desktop publishing software?

apatheticonion|9 months ago

I've achieved something similar by passing markdown into handlebars/ejs first before converting it to html

artemonster|9 months ago

Are there fexprs too? I.e. lambdas that dont evaluate their arguments eagerly but wait until explicit evaluation?

ekianjo|9 months ago

No comparison with quarto given.

ants_everywhere|9 months ago

oh no it's LaTeX with significant white space

EDIT: I was just teasing, probably inappropriately my apologies. I use org-mode -> LaTeX for a similar markdown to article flow. I think it's a good idea and the results look nice.

blueflow|9 months ago

Give the functions two-letter names and you have looped back to 1970's roff.

dvfjsdhgfv|9 months ago

So it's like Typst but easier to learn? Any other advantages?

sgt|9 months ago

If the LLM's are starting to output Quarkdown by default - even just one provider (like OpenAI), this will catch on like wildfire. The limitations of Markdown is getting a bit old.

andrepd|9 months ago

Looks good but Typst seems miles ahead.

worldsavior|9 months ago

At this point just use Typst/Latex.

bowsamic|9 months ago

I don’t understand what this does that LaTeX does not, and though I haven’t checked I suspect the inverse is not the case

Is very slightly more concise syntax worth it?

speerer|9 months ago

I'm very excited to boot up and try this. I may have finally found what I need to replace my rickety pipeline of templates and pandoc conversions.

Onawa|9 months ago

Maybe look at Quarto? Almost every project I start now begins with `quarto project create`. From there I can pivot the material into HTML, .docx, PDF, .PPTX, Typst, LaTeX, and all of them simultaneously.

majkinetor|9 months ago

I keep mine tidy in a docker image and use it on bunch of projects: https://github.com/majkinetor/mm-docs

As a comparison to scripting features of Quarkdown, above uses macros plugin which enables python scripting

AceJohnny2|9 months ago

The pendulum swings back...

revskill|9 months ago

Yes, any alternatives which invented their own syntax which is not markdown is just a waste of everything.

eviks|9 months ago

The base markdown is too primitive to use without extensions, so aren't most used markdowns actually invent their own syntax?

akagusu|9 months ago

It lost me here:

> Java 17 or higher is required.

klez|9 months ago

Is this the usual anti-java sentiment or is there something in particular with java >= 17 that you have something against?

bigbuppo|9 months ago

Not sure if I would be taunting the trademark lawyers of Quark Software like this, but you do you I guess.

robinsonb5|9 months ago

Yeah I had similar thoughts, but the name's certainly clever - it made me grin!

tinthedev|9 months ago

I'm not quite sure who this is for.

Markdown is for keeping things simple.

There's plenty of of "proper" markup languages and full programming languages to actually write code in.

Why do we need a hybrid program like this, which is not as simple as pure markup, and is not as powerful as a proper templating language?

I personally just run markdown -> HTML/CSS -> python templating (Jinja or something) -> PDF/HTML

As a dev, I find this works the best for me. But I also cannot imagine that learning Quarkdown would improve my workflow meaningfully, and I also cannot imagine recommending someone learn such a niche product instead of having them learn HTML/CSS and Python (Jinja if they need fancy). Seems like a comparable amount of effort.

tiffanyh|9 months ago

This is for academic and publication journals.

Which is why you see Typst it's strongest competitor in the Comparison Chart.

andai|9 months ago

It's for me, as far as I can tell! I like making PDFs.

My ideas start in Obsidian (Markdown) and then I use pandoc and add a bunch of cursed inline LaTeX hacks to the Markdown for the final product.

I guess cursed hacks are part of any workflow, but I am definitely going to check this out.

throwawaymaths|9 months ago

its for people who want latex but are mad that latex became c++

coliveira|9 months ago

That's why these things don't go anywhere. If I need to write formatting details, it is better to use LaTeX which is a well-tested and stable language that will last for another 30 years.

beneboy|9 months ago

Could definitely see using this for docs. We end up with HTML scattered through our markdown files whenever we need something beyond basic formatting, which is ugly. The ecosystem support is the real question though - Markdown works everywhere because it's been around forever.

MisterTea|9 months ago

> I personally just run markdown -> HTML/CSS -> python templating (Jinja or something) -> PDF/HTML

Unix philosophy vs highly integrated vertical Microsoft style applications. One benefits users, the other, the vendor.

nonethewiser|9 months ago

>markdown -> HTML/CSS -> python templating (Jinja or something) -> PDF/HTML

Uh...

maybe thats why they just want markdown -> PDF/HTML

g0db1t|9 months ago

[deleted]

blacklion|9 months ago

[deleted]

throwawaymaths|9 months ago

with that attitude we'll be stuck with latex forever. let a man cook.