Colophon
A colophon is a statement containing details on the publication of a book; or a website. Last Updated:
The Philosophy
During a late night of going down the internet rabbit hole, I found some interesting perspectives on personal websites. The concepts of learning in public and mind gardens appealed to me as someone who learns by documenting. Now, publishing is the forcing function that makes me write carefully and question understanding completely.
I wanted a website that was easy to maintain and wholly mine (limited to no use of 3rd party services for my data).
I’ve been an Obsidian user for some time, so that was my starting point. I did not want to impact my vault structure and learning workflow. I needed no friction between “thinking” and “publishing”. The result is a single attribute of published: true in a file’s frontmatter that marks one of my markdown files “website worthy”. The rest lives on my second brain, which is published using Obsidian Publish.
The ideas and words here are my own. I do use AI as a thinking partner, but the first draft is always mine. AI makes me a better editor of my own work; it doesn’t replace the work.
The Stack
The constraints from the philosophy section shaped every choice here: (1) no friction, (2) no extra context-switching, and (3) ownership of the content.
Astro v5 — Static site generator built for content, not apps. Its Content Layer API is what makes the vault-as-CMS setup possible. It can glob markdown files from anywhere on the filesystem, including outside the repo. Zero client-side JavaScript by default. The theme toggle is the only script on the page.
Obsidian — I was already living here. Every real thought starts in the vault. The vault is a separate private repository that gets cloned at Docker build time, which means the site repo never contains my writing directly. Publishing is flipping a flag on a note that already exists.
Custom remark plugins — Obsidian’s markdown has quirks that standard parsers don’t handle. A set of small plugins bridges the gap:
remark-obsidian-images— converts![[image.png]]wiki-links to proper<img>tagsremark-wiki-links— converts[[Page Name]]to links, resolving vault paths and blog slugsremark-strip-obsidian-comments— strips%%...%%Obsidian comments before render@r4ai/remark-callout— renders> [!type]callout blocksremark-gfm— tables, strikethrough, task lists
Docker + Nginx — Ownership extends to the infrastructure. This site runs on my own hardware (more on that on the uses page) behind Nginx, serving a static build from a Docker container.
What’s Coming Next
Hey now, I just got this up and running. Give me some time to enjoy version 1.0.0. Some features I may consider are mentioned here.
Sources of Inspiration
The standard I strive for on my website:
- Den Delimarsky - Principal Product Engineer, Tinkerer, Nerd, Trail Explorer
- Cam Pedersen
- Cassidy Williams
- Derek Sivers
- Ben Congdon
- Technical blog by Alexander Ameye.
- Everythings Better With Brentter
- Gregory “Dave” Stucky, essayist, life veteran, ex-Stoic, ex-con
The source for this website can be found here.