I am not one who enjoys complexity. I am also someone who likes to make their own tools.
As a student, I write a lot. That includes notes, papers, and documentation for my wide variety of projects.
A lot of classes request to submit assignments as either PDF, HTML or .docx
.
For a while, I submitted PDF’s.
I had a whole orchestrated setup.
I would write everything in Neovim, save it, and KNAP would render it using Pandoc. Finally, it would be rendered to my screen using Sioyek.
This worked fine, I guess, but it was far from perfect.
pdflatex
document ever made.Markdown was designed to be turned into HTML, I reasoned. So why not just do that?
That’s why I created Tatum. It does one thing, really well. Point it at a Markdown file, and it will run a tiny web server to render the resulting HTML to. If the file changes, a WebSocket connection tells the browser to refresh.
Tatum renders in milliseconds and creates beautiful pages with , Simple.css and highlight.js
.
I can embed interactive HTML, CSS and JavaScript elements directly into my Markdown to get the interactivity and aesthetics I desire.
Once I’m done working, I just run tatum render <file.md>
and I get a single file (images and all) that I can submit for my assignments.
Tatum isn’t for you to use. Feel free to poke around at how it works, or even fork it and make your own modifications. It fits my use case perfectly.