Discover more from hrbrmstr's Daily Drop
Drop #230 (2023-03-29): But, I Never Pay Retail!
mdBook; typst; Calculist
You just know it's going to be a superb Drop when it starts with a truly awful dad joke.
I, along with the rest of the planet, went 🤩 when “WYSIWYG” entered the digital scene. Sure, one could argue that text output on a terminal is technically also WYSIWYG, but I'm talkin' GUI WYSIWYG. Though I am a bit sad that, due to the emergence of WYSIWYG, I no longer have any muscle memory or even accessible recall for a certain word processor's reveal codes that I used to wield with 💪🏼 and ⚡️.
Today, if you ask me to open or collaborate on a “Word Document” or “Google Doc”, you will 100% hear an audible sigh and see a fleeting grimace before I acquiesce to your request and render assistance. WYSIWYG does have legit uses, but text-based document machinations is, most certainly, not one of them anymore.
Markup1 rules the day when it comes to document-y things. So, we're going to look at a few bits outside the
$DEITY of Markup's ecosystem (pandoc) to see if there are possibly greener, or at least contextually useful alternatives that folks might not be aware of.
I'm a Quarto-first kind of human, but I keep an eye (two, when I can spare them) on the comings and goings of other CLI-based document producers, and have been meaning to mention this one for a while.
mdBook (GH) is a (Rust-based) “command line tool to create books with Markdown. It is ideal for creating product or API documentation, tutorials, course materials or anything that requires a clean, easily navigable and customizable presentation”. It sports what you might expect when it comes to digital “books”:
Lightweight Markdown syntax helps you focus more on your content
Integrated search support
Color syntax highlighting for code blocks for many languages
Theme files allow customizing the formatting of the output
Preprocessors can provide extensions for custom syntax and modifying content
Backends can render the output to multiple formats
Written in Rust for speed, safety, and simplicity
Automated testing of Rust code samples
The primary link explains itself quite well, all the way from book creation to how you can bend it to your will with custom preprocessors and renderers. So, I’ll leave you in its capable hands—er—pages.
Typst (GH) is a new markup-based typesetting system (CLI + optional web app) that is designed to be as powerful as LaTeX while being much easier to learn and use. It has built-in markup for the most common formatting tasks, flexible functions for everything else, and a tightly integrated scripting system. It was made by two graduates from Berlin with a “passion for software” and a deep loathing of LaTeX. That means you all you science/maths wonks get maths typesetting, bibliography management, and the other usual suspects needed in more formal/academic settings.
The GH repo provides the CLI/compiler which is all you really need to get started (though there is a handy VS Code LSP for it, too). Said tooling is built in Rust (ofc), and have all the modern processing idioms such as incremental compilation. The “app” is a freemium setup that provides a very friendly IDE (which you kinda get with the VS Code LSP, too, including live preview!) that has out-of-the gate support for collaborative projects.
Typst has been designed with three key goals in mind: Power, simplicity, and performance. To achieve these goals, Typst follows three core design principles: Simplicity through Consistency, Power through Composability, and Performance through Incrementality. Things just “make sense” in their ecosystem, and they have power features like templates, scripting, and more precise control (than traditional markdown) over formatting.
The next time you sit down to pen your next essay, article, scientific paper, book, report, homework assignment, proclamation of how awesome the Daily Drop is, or other, lesser, documents, perhaps give Typst a try?
I yanked this one from my watch list, so YOU can also put it on your watch list (since there isn't much to do with it yet, but it has quite a bit of promise!).
Calculist (GH) is/will be a freemium app and — if I'm intuiting the repo right — decoupled CLI (like the above, Typst) for note-taking/problem-solving/thinking. It twists the models presented by the likes of Roam and Obsidian around and puts the cool problem-solving task first vs. the mundane task of information management.
Rather than markdown, Calculist uses their bespoke markup language (which does have an icky LaTeX after-taste).
For now, try the demo and put said watch on the repo. IMO it'll be kind of exciting if they do follow Typst's model.
Go forth and markup all the things! ☮
#mdbook #calculist #markdown #pandoc #typst #latex
💥 Worst. Dad. Joke. Ever. (Almost)