12 ms·
Quarkdown: A modern Markdown-based typesetting system
- rcarmo 1y agoI 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 1y agoThere 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.
- Akronymus 1y agoI personally prefer the dotnet ecosystem so for me f# is the definitive python replacement. But I am digressing.
- structural 1y agoWould 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.
- junon 1y agoLast I checked Typst can't emit HTML.
- divan 1y agohttps://typst.app/docs/reference/html/ https://typst.app/docs/reference/html/
- lblume 1y agoThey do now, experimentally. The support is getting improved a lot currently.
- sureglymop 1y agoThat's really cool! Would love to create my website with that and also make it available as a pdf for easy archival.
- enricozb 1y agoIt works really well, I've written three blog posts using typst. Post: https://ezb.io/thoughts/interaction_nets/lambda_calculus/2025-05-05_polarity.html https://ezb.io/thoughts/interaction_nets/lambda_calculus/202... Typst source: https://github.com/enricozb/enricozb.github.io/blob/master/thoughts/interaction_nets/lambda_calculus/2025-05-05_polarity.typ https://github.com/enricozb/enricozb.github.io/blob/master/t...
- anbotero 1y agoThat Typst source looks really clean. I may go back to look into its HTML support. Thanks for sharing!
- enricozb 1y agoThanks! The main thing that I had difficulty with, which you can see from the typst source, is the rendering and spacing around inline math symbols. They are rendered as SVGs, which is fine but then copying them doesn't work. Their spacing is sometimes unpredictable so I'll add something like $thick x + y$ to pad on the left hand side. I'm not sure what parts of the math symbol contribute to the dimensions of the SVG and I'm sure it's rather complex, but other than that the experience has been solid.
- skrebbel 1y agoThis 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 1y agoThat 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.
- genewitch 1y agoHow do the science and math papers use characters that aren't in... ASCII? Maybe I need to look at an ASCII chart. Out of curiosity, isn't UTF implementation much easier now than it has been? I piddle in writing things and I rarely contemplate UTF. Once I tried to reverse engineer an encryption plugin that used Asiatic characters as the ciphertext, and I wanted to use emoji, and that was when I learned I am too dumb to understand utf. But there's libiconv, which I first saw in production (ICQ or aim or Trillian or so) over 22 years ago, personally. So is the latex thing obstinance, technical, or political?
- yannis 1y agoSorry you need to catch up! The latest LaTeX engines (LuaLaTeX) can even do unicode math! But yes the Unicode spec s not something one can understand in a few hours.
- yannis 1y agoYour statement is not correct, LuaLaTeX can output any unicode character you need and also you can use Lua as well for scripting.
- michal_h21 1y agoOther incorrect statement is that LaTeX cannot generate HTML. There is number of projects for LaTeX to HTML conversion (TeX4ht, Lwarp, LaTeXML), also Pandoc can convert subset of LaTeX to HTML.
- speerer 1y agoI'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.
- majkinetor 1y agoI keep mine tidy in a docker image and use it on bunch of projects: https://github.com/majkinetor/mm-docs https://github.com/majkinetor/mm-docs As a comparison to scripting features of Quarkdown, above uses macros plugin which enables python scripting
- speerer 1y agoThank you for the inspiration. I'm going to look through this with interest too. I see somebody else downvoted me: presumably they didn't like my excitement! I appreciate the positivity here.
- majkinetor 1y agoYou are welcome. If you want to try this system, I will be glad to help onboarding.
- genewitch 1y agoHN is fickle, it'll revert, faster if you don't mention it. I have a couple of "proprietary" pipelines that I'd love to replace, and this also gave me an idea. For instance when I want to publish a screenshot from windows to my fediverse homeserver, I want it to be as few kilobytes as possible, as I've run a homeserver and the storage needs are obnoxious, so I do my part. Windows takes massive screenshots, embarrassing even by windows 95 bitmap screenshot standards. So win+shift+s, crop selection, win - ms <enter>, shift+insert, ctrl+shift+x, file->save as JPEG, name, enter. As few as three years ago if I cropped right I could paste the clipboard JPEG and all was well. It doesn't take me long but every time I do it I get three more grey hairs. And I take a lot of screenshots. 2,209 in my screenshot folder. did you know windows saves all your screenshots? they used to be ephemeral. anyhow i have a bunch of screwy things similar to but not as "simple" as that example. Audio work, text work, data manipulation.
- xvfLJfx9 1y agoInteresting, but I wonder what does this offer that typst doesn't?
- g0db1t 1y ago[dead]
- account-5 1y agoHow 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/ https://quarto.org/
- pinoy420 1y ago[dead]
- tecleandor 1y agoI 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
- jbverschoor 1y agoYeah that's the immediate connection I got too. I like the syntax.
- zelphirkalt 1y agoI guessed the name derived as follows: Quarks as the smallest particles, a view in most detail, the building blocks of things. Typesetting as the lowest level of abstraction for creating a document, "down" from Markdown.
- deleted 1y ago[deleted]
- TacticalCoder 1y agoPeople may not know it but at some point in the nineties you'd enter a bookstore and 95%+ of all the books and magazines were typeset using QuarkXPress. Then Adobe's InDesign showed up in 1999 and things began to change. FWIW I both wrote and typeset books myself (for a traditional publisher): I did most of them using QuarkXPress but I managed to sneak one I made with LaTeX (it was a hard sell to the publisher / printing press guys who were only ever using QuarkXPress). Also I was forced to heavily modify LaTeX templates to match exactly the one the publisher was using with QuarkXPress. So yup when I read "Quarkdown is a modern Markdown-based typetting system" the first thing I think about is QuarkXPress: great memories of MacOS (8? then 9?, pre OS X for sure) and my Sony Trinitron monitor.
- quaintdev 1y agoTypst is missing from comparison
- atoav 1y agoIs 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?
- ouked 1y agoLooks like you can compile files as shown here: https://github.com/typst/typst?tab=readme-ov-file#usage https://github.com/typst/typst?tab=readme-ov-file#usage
- enkursigilo 1y agoYes, there is a standalone compiler for typst that you can use offline for free. Source code is here https://github.com/typst/typst/ https://github.com/typst/typst/
- TheEdonian 1y agoI 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.
- randomtoast 1y agoI 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.
- asplake 1y agoNice! Any plans for epub?
- deleted 1y ago[deleted]
- sgt 1y agoIf 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.
- revskill 1y agoYes, any alternatives which invented their own syntax which is not markdown is just a waste of everything.
- eviks 1y agoThe base markdown is too primitive to use without extensions, so aren't most used markdowns actually invent their own syntax?
- artemonster 1y agoAre there fexprs too? I.e. lambdas that dont evaluate their arguments eagerly but wait until explicit evaluation?
- skwee357 1y agoThis 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
- dev_l1x_be 1y ago> I tried typst, but it felt messy to me. What exactly is messy about Typst?
- skwee357 1y agoThe syntax feels complicated. Maybe I just don't have enough patience for learning a typesetting syntax (I never worked with Latex before). On top of that, there is no easy way to create a template. For example, I want an invoice template which I can reuse with different data. Theoretically, I can create a typ file for the template, and define the invoice as a function which I then call from a string with, say, json data. It seems great as web service, but not as a library I can use from, say, Rust. And the type system is a bit confusing. I can define basic types like numbers or string, but when it comes to structs, they don't seem to have support for that. I find it easier to create a handlebars template, and feed the HTML to headless chrome printing service, which will output a PDF for me. It's not scalable for high volume, but good enough for my needs (takes about 2-3 seconds to generate PDF).
- lugao 1y ago> On top of that, there is no easy way to create a template Templates are just functions [0]. I think much of the frustration comes from typesetting being a harder problem than it seems at first. In general a typesetting system tries to abstract away how layout is recomputed depending on content. Supporting contextual content -- cases where the content depend on other content, e.g. numbered lists, numbered figures, references, etc -- involves iterative rendering. This is evidentidly a complexity sinkhole and having a turing complete script language will bite you back when dealing with it. I recommend reding their documentation about it [1] where they explain how they propose solving this problem. [0]: https://typst.app/docs/tutorial/making-a-template/ https://typst.app/docs/tutorial/making-a-template/ [1]: https://typst.app/docs/reference/context/#compiler-iterations https://typst.app/docs/reference/context/#compiler-iteration...
- dariosalvi78 1y agovery nice and would be cool for scientific publishing, but without the publishers (or community) offering templates it'll never fly
- ouked 1y agoLooks cool - is this "backwards compatible" with Markdown? As in, could a Quarkdown file be legible from a regular Markdown renderer?
- enriquto 1y agoThe 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 1y agoIf the sea of backslashes and \begin/end and \includegraphics doesn't disappear, no, latex doesn't look equivalent
- zelphirkalt 1y agoThe words "begin" and "end" are very readable, actually. "includegraphics" as well. Remains the aversion against backslashes. What exactly do you find less readable about them than other symbols like for example the colons or braces in Quarkdown? Or is it about the number of backslashes?
- eviks 1y agoActually, no, if markup takes more space than content, it hurts readability of the content. Especially for such common stuff like images. But if you don't see this obvious barrier, I will unlikely be able to explain the issue with backslashes: it's partially about the number, but also visibility - .period syntax is a smart choice as it's unobtrusive and not part of the regular syntax, and it's more ergonomic to type, so a universal win.
- rendaw 1y agoThis, 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.
- dleeftink 1y agoYou may be familiar already, but does paged.js fit your bill? [0]: https://github.com/pagedjs/pagedjs https://github.com/pagedjs/pagedjs
- rendaw 1y agoThat looks interesting, and to be fair right now I'm doing something similar... but doing headless rendering with that sort of stuff is very hard, AFAIK the standard tool for that has been abandoned now for a couple years. Also there are other issues with browsers, like creating CMYK PDFs.
- freefrog334433 1y agoThe 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.
- rendaw 1y agoOh, I didn't realize that! I can't shake the feeling that the open source community engagement might cater to paying customers, but I'll need to take a closer look!
- andy12_ 1y agoIs 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 https://github.com/typst/typst/issues/1765
- Faelian2 1y agoThat's a really interesting project. I have been generating documents for a while using https://github.com/enhuiz/eisvogel 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.
- bowsamic 1y agoI 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?
- francislavoie 1y agoVery cool, but CLI tools with a JVM language? :( I'd be much quicker to try this out with a static binary.
- bovermyer 1y agoI wonder how much control this gives you. For example, drop-caps, kerning, text flow around images, etc.
- cluckindan 1y agohttps://github.com/iamgio/quarkdown/blob/main/mock/textformatting.qmd#L20 https://github.com/iamgio/quarkdown/blob/main/mock/textforma... https://github.com/iamgio/quarkdown/blob/main/mock/images.qmd#L31 https://github.com/iamgio/quarkdown/blob/main/mock/images.qm...
- davidpapermill 1y ago"Very little" in terms of the text formatting I guess. But there's no reason they can't improve on that.
- freefrog334433 1y agoI'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 1y agoDo 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/ https://marp.app/
- pedro_movai 1y agoI made a similar project, but functions are made in js. https://github.com/pedroth/nabladown.js https://github.com/pedroth/nabladown.js
- formerly_proven 1y agoLooks kinda like restructuredtext, but with exactly half the dots and 100% more curly braces.
- WorldMaker 1y agoWhich 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/ https://mystmd.org/
- g0db1t 1y ago[dead]
- silvestrov 1y 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 1y agoDoes 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.
- ehutch79 1y ago64kb of ram is enough for anyone.
- maxloh 1y agoA 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.
- willvarfar 1y agoif you have a UDF called .until and then this becomes a keyword, does the new 3rd party library you start using that uses the keyword .until still work, and what does the LLM vibe-coded start doing in the future when it makes use of the .until keyword?
- IshKebab 1y agoThat's a pretty bad design. You don't want users to be able to create functions named as keywords because it will break other code.
- SuperV1234 1y agoThis is pretty cool! Could you compare your approach to the one taken in Majsdown? https://github.com/vittorioromeo/majsdown https://github.com/vittorioromeo/majsdown
- darkhorse13 1y agoSlightly related, but for forms: https://forms.md https://forms.md
- klez 1y agoI 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.
- majkinetor 1y agoTotally confused. Lost 10 minutes.
- ekianjo 1y agoNo comparison with quarto given.
- akagusu 1y agoIt lost me here: > Java 17 or higher is required.
- klez 1y agoIs this the usual anti-java sentiment or is there something in particular with java >= 17 that you have something against?
- benatkin 1y agoIt has obvious annoyances like these deeply nested paths: quarkdown-quarkdoc-reader/src/main/kotlin/com/quarkdown/quarkdoc/reader/dokka/DokkaHtmlContentExtractor.kt https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpris...
- AmazingTurtle 1y agoMarkdown, Quardown, Typst, this and that. This looks to LaTeX. All of this became so confusing and un-standardized - I went back to HTML+CSS.
- 360MustangScope 1y agoAh 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.
- sixtyj 1y agoGruber and Schwarz knew that in simplicity is a beauty. Basic markdown format is good enough. For specific cases, it depends what is the outcome - html, pdf… But hell are binary formats that are used for page layout - vendor lock for centuries. Backward compatibility? Forget about it. From this point of view people should stick to text based formats. Markdown, LaTex, Typst… you name it. Just use it :)
- maclong9 1y agoFor me the only addition to markdown I usually enjoy is mathematical typesetting like on GitHub using the inline $$ syntax or the code blocks with the language set to `math`
- setopt 1y agoThere’s also the mature and reliable Org-mode, if you don’t mind Emacs as an editor.
- blenderob 1y agoDoes org-mode have a spec? From what I've seen, org-mode is defined as whatever Emacs does. Without a spec I can't see how it's a viable format for widespread usage.
- ryukoposting 1y agoVery 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.
- ants_everywhere 1y agooh 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.
- blacklion 1y ago[flagged]
- throwawaymaths 1y agowith that attitude we'll be stuck with latex forever. let a man cook.
- blenderob 1y agoIs the comparison table accurate? - https://github.com/iamgio/quarkdown#comparison 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?
- flenserboy 1y agoPandoc is your friend for this and many other use cases.
- blenderob 1y agoNot sure I understand. I never said anything about my use cases. I was checking the accuracy of the comparison table. Did you mean to post that comment here or were you replying to another comment?
- nonethewiser 1y 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.
- tinthedev 1y agoI'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.
- nonethewiser 1y ago>markdown -> HTML/CSS -> python templating (Jinja or something) -> PDF/HTML Uh... maybe thats why they just want markdown -> PDF/HTML
- tinthedev 1y agoWell, but you don't have `markdown -> PDF/HTML` Also, if you don't need the python bits, you just skip Python :)
- throwawaymaths 1y agoits for people who want latex but are mad that latex became c++
- nailer 1y agoLaTeX also has some bizarre defaults like bitmap fonts in a tool designed to allow people to create high quality typeset documents.
- throwawaymaths 1y agowhich is ironic considering at one time the appeal of LaTeX was "sane defaults". Don't get me wrong. The default choices were really the best choice at some point in the past. They just no longer are.
- jamesgill 1y agoInstead of bolting an engine onto a bicycle to travel long distances, why not just use a motorcycle?
- blenderob 1y agoWhat's a good motorcycle for typesetting? Any recommendations?
- cAtte_ 1y agoTypst!
- criddell 1y agoAdobe InDesign.
- davidpapermill 1y agoInDesign is awesome. Anyone designing a general purpose document language should spend a lot of time in InDesign first. LaTeX should not be your mental model.
- DonHopkins 1y agoEasyWriter! https://en.wikipedia.org/wiki/EasyWriter https://en.wikipedia.org/wiki/EasyWriter https://www.youtube.com/watch?v=4j7zD5ydpUo https://www.youtube.com/watch?v=4j7zD5ydpUo
- xnorswap 1y agoBecause 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.
- apatheticonion 1y agoI've achieved something similar by passing markdown into handlebars/ejs first before converting it to html
- codedokode 1y agoI 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 1y agoAgreed, 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.
- worldsavior 1y agoAt this point just use Typst/Latex.
- nextaccountic 1y agoCan this compile to LaTeX?
- jinay 1y agoPlease add an llms.txt file! https://llmstxt.org/ 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 1y 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.
- blueflow 1y agoGive the functions two-letter names and you have looped back to 1970's roff.
- cbarrick 1y agoThis just looks like reStructuredText. Quarkdown: .somefunction {arg1} {arg2} Body argument rST: .. somefunction:: {arg1} {arg2} Body argument
- yowlingcat 1y agoAny 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.
- bigbuppo 1y agoNot sure if I would be taunting the trademark lawyers of Quark Software like this, but you do you I guess.
- robinsonb5 1y agoYeah I had similar thoughts, but the name's certainly clever - it made me grin!
- krick 1y agoSince 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.
- DrNosferatu 1y agoPandoc should have been in the comparison table.
- bryanhogan 1y agoInterested 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 1y agoWith 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 1y agoQuarto 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.
- Lammy 1y 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=US_APPLICATION&caseType=DEFAULT&searchType=statusSearch https://tsdr.uspto.gov/#caseNumber=90886976&caseSearchType=U... - https://tsdr.uspto.gov/#caseNumber=97009034&caseSearchType=US_APPLICATION&caseType=DEFAULT&searchType=statusSearch https://tsdr.uspto.gov/#caseNumber=97009034&caseSearchType=U... (Why do they have two for the same word?)
- thangalin 1y agoMy 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/images/architecture/architecture.png 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/ https://keenwrite.com/ [2]: https://www.youtube.com/watch?v=CFCqe3A5dFg&t=15s https://www.youtube.com/watch?v=CFCqe3A5dFg&t=15s [3]: https://dave.autonoma.ca/blog/2019/05/22/typesetting-markdown-part-1/ https://dave.autonoma.ca/blog/2019/05/22/typesetting-markdow...
- yndoendo 1y agoFor 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.
- thangalin 1y ago> So far LaTex has been the only solution to allow binding shared sections R, being a Turing-complete language, can do this. If R Markdown can do it then KeenWrite and pandoc+knitr support it. R can also do conditional includes. For Product A and B to share authentication steps, this could look like: `r#inc( '../common/authentication.Rmd' );` Where TeX may resemble: \input ../common/authentication.tex SGML, DocBook, AsciiDoc, RST, and other text formats have similar abilities.
- techtalsky 1y agoI 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.
- jdthedisciple 1y agoLooks 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?
- dvfjsdhgfv 1y agoSo it's like Typst but easier to learn? Any other advantages?
- zzo38computer 1y agoSome 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_ 1y agodo you have some sort of ethical opposition to unicode?
- zzo38computer 1y agoI think Unicode is messy and is not the best way to do i18n and m17n and l10n and a11y and many other things (although there are also problems with existing implementations that do not have to do with the character set, the character set is one of the problems), and I also think that it is not good to insist on using one character set for everything (especially if that character set is Unicode). UTF-8, UTF-16, UTF-32, UTF-EBCDIC, etc are encodings of Unicode. EUC-JP is not an encoding of a subset of Unicode; it is an encoding of JIS, which is a different character set. The PC character set is not a subset of Unicode; it is the PC character set. Being able to be mapped to Unicode in some cases does not make it Unicode (nor does it mean that these mappings are necessarily "clean", but even if they are, that still wouldn't make non-Unicode character sets to be (subsets of, or even supersets of) Unicode).
- kortex 1y agoSo how does going back to multiple incompatible character sets help anything?
- GZGavinZhao 1y agoTypst gang, unite!
- looneysquash 1y agoThe 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.
- Aloisius 1y agoWhat's the rationale behind hand coded typesetting these days, besides the cost of desktop publishing software?
- infogulch 1y agoI'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.
- RollingRo11 1y agoI 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).
- charlie0 1y agoMy first impression was this looks nothing like Markdown. It looks cool, but hardly resembles anything I've seen in Markdown before.
- glenngillen 1y agoI 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.
- ChuckMcM 1y agoI 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/ https://pandoc.org/ [2] Template Toolkit -- https://template-toolkit.org/ https://template-toolkit.org/
- andrepd 1y agoLooks good but Typst seems miles ahead.
- AceJohnny2 1y agoThe pendulum swings back...