Digital garden
A digital garden is a personal online space for notes, characterized by its casual (as opposed to “polished and prepared” like a blog) format and interlinks between ideas.
I've been interested in digital gardening for a while, but haven't gotten around to creating my own garden until now.
Inspirations#
Digital gardening is a relatively recent phenomenon, though it's hard to find one place where it originated; I found a blog/garden post from Maggie Appleton which attempts to go into the history of digital gardening.
In my case, when I think of the concept of digital gardens, a few sites come to mind: Devine's XXIIVV, Exa's site/garden, …
Software#
As with many things, the main barrier to entry for digital gardening is the effort required to set it up. This section discusses the software stack I use for it, as well as other approaches I've seen elsewhere online.
Trilium#
I use Trilium for my own personal notetaking. If you've ever used Obsidian - Trilium is that, but much, much more customizable and flexible, plus fully open-source and self-hostable.
It has text notes, HTML widgets, Excalidraw canvases, Mermaid diagrams… It lets you reorder notes on the sidebar out of the box! Obsidian doesn't even let you do that. And, most crucially for the garden, it lets you share your notes.
(As a fair disclaimer - it seems that its lead developer has recently gone the way of heavy LLM assistance (as a quick peek at the commit history shows), which does not fill me with much hope for its future… hopefully if it gets bad, someone will set up a more human-led fork. See also my thoughts on LLMs.)
The SSG approach#
Single-site generators (SSGs) are ubiquitous in the tech blogging space. Indeed, that makes them a natural candidate for anyone who wants to hack on their own site.
Some, like Exa, extend an existing system like Eleventy (see the page where they describe their config). Others, like quat, write their own.
Besides making the page, there also needs to be a synchronization mechanism; I suppose regular git would do, but the two gardens I mentioned above use Syncthing for live synchronization (Exa's garden even has an automatic in-browser reload - how cool is that?)