Typically, when making a self-hosted blog, you choose one of:
- a static site with blog content formatted in Markdown along with the code in the same git repository, statically generated via a CLI tool or GitHub Actions, and deployed to something like GitHub Pages, or
- a dynamic site (like WordPress or Ghost) with a nicer rich-text editing page, better media support, and simple publishing, at the cost of needing to host it on your own web server and it not being as performant, reliable, or secure
Neither of those are that great. We wanted all our colleagues to actually write blog posts, not just us
git brainwashed engineers.
Writing a blog post has to be painless, but we also wanted to eat our cake by not maintaining some random PHP project.
Notion and its API: goldilocks.
The tonari team is pretty into Notion. It's undeniably a great rich-text editor, and it has a very low barrier to entry compared to the alternatives (I wish it were open source, but I still live in a partially glass house, so I'll drop it). Using Notion to generate a static blog felt like a good experiment.
We initially based our blog on a nice example project that used Notion's private API (shh don't tell), but have recently rewritten it to use their public API (ok now you can tell), and decided that now is a good time to open-source our work for anyone else who might not want to write it all from scratch.
I'm not saying it was that awful to write or anything, but I also have a lot of sympathy for people who avoid doing web stuff at all costs...
We hope you find it useful for expressing your own internal chaotic wonderland. Our current plans are to keep maintaining this codebase and maintain a private patch set on top of it for our own "branded" blog, but we welcome anyone who wants to turn this code into a more generic turn-key project for others to use more easily.
Anyway, fork it up at github.com/tonarino/blog — we're excited to see what you do with it.