Technicals
This website is built with SvelteKit.
I use adapter-node to run it with Node.js.
Internally, I have a folder called src/articles
, and each article is a markdown file. Said articles are rendered into HTML with MarkdownIt, although I may migrate to Svelte-Markdown to do some stupid stuff, like links that open in the current page so that you can keep reading without losing context.
For footnotes, I use markdown-it-footnote. Literally just one line of code.
For missing links, I use Cheerio to parse the HTML, and tag them so that readers know that the linked article does not exist yet.
It is deployed on Railway. To deploy, I push to the main
branch, and Railway takes care of the rest.
I manually assign a semantic version number to each article. Whenever I update an article, I increment its version.
The current versioning scheme is as follows:
- Patch number: Typos, rewordings, missing words, etc.
- Minor number: Some extra-content, a new section, a new idea, etc.
- Major number: The major thesis of the article has changed.
It might be fun to have an LLM follow these guidelines and decide on the increment (major, minor, and patch) at some point.
In the future, I'll try to figure out a way to conveniently share the history, possibly by moving the articles to github and open-sourcing the repository.