Choosing a stack for a dev blog nowadays
This year's resolution was to try to get more public - internet - exposure. The main reasons:
- Connect with people outside who share my interests.
- Consume less, create more: For years, I've been learning a lot from the internet. Now it's time to share.
- Trust your own “Curiosity Barometer.” If something sparks your interest in a unique way, it’s likely to resonate with others too. Write about it, share it, and see what unfolds.
Now, to align with the title: What should I use to publish it? When there are so many options available, I tend to simplify the decision to avoid getting trapped in analysis paralysis, so:
Requirements
- Being able to write in Markdown, as I'm comfortable with the syntax.
- Should include blog-like content and flat pages.
- Being able to create a kind of knowledge base or second brain.
- Being able to customize it.
- I should ship it in a morning or two.
First Decision: Server-Side or Static Site?
This was easy with requirement #5. Although I'm a backend developer, I know if I go down that route, I won't ship it fast as I have so many ideas to build. So, static it is.
After searching and prompting for a while, three options seemed good:
MkDocs (Material)
- Pure Markdown, and I already built some project documentation with it.
- Ok.
- No specific way to create a KB.
- I should be able to. Just Python and some JS.
- Probably yes.
Docusaurus
- Markdown and some MDX (React-based).
- Ok.
- No specific way to create a KB.
- I should be able to, but I prefer Python.
- Likely.
Quartz
- Markdown.
- Ok, although it doesn't seem easy to customize the layout.
- Very specific to KB—great!
- JS, components…
- Not likely.
Decision
So, I went with MkDocs and the Material theme, prioritizing content over complexity. Let's ship!