Building a New Blog
meta work in progress
(talk about blog.c-mart.in)
Planning and Design
Things I Want in a Blog
- Compose with Markdown. In 2015 this was rare, now everything supports it.
- Image etc hosting? image galleries?
- I don’t want to sysadmin it or self-host it, but I want the option of easy migration to self-hosting if the hosting turns evil.
- Resistant to slashdot/reddit/HN effect, maybe a CDN achieves this
- Option of automatic syndication to Twitter, Facebook, etc
- Easy rich discussion, in comments or via some other mechanism
- Email notification of comments, to me and other commenters
- Don’t make me think about all the minutiae of setting up a website (e.g. layout and styling)
What other people do
- Scott Alexander uses Substack
- Rob Rhinehart uses Ghost?
- Gwern uses Hakyll
Comment Systems Exploration
Self-hosted Discourse could work but I’d have to host it.
There is Commento but it has non-transparent pricing over 50,000 daily page views
Comments on GitLab Issues
Idea: an issue on GitLab for each post, and the comments on the post are comments on the issue. This would satisfy “don’t want to self-host but could if the hosting turned evil”. I have built and administered on-premises/self-hosted GitLab professionally, it’s not that hard. gitlab.com allows you to migrate projects to your own self-hosted GitLab.
Prior art using GitHub issues for comments:
Does the Wayback Machine capture gitlab issues? Apparently not: https://web.archive.org/web/20220202033418/https://gitlab.com/exosphere/exosphere/-/issues/658
But it does archive GitHub issue comments: https://web.archive.org/web/20220101075010/https://github.com/reactjs/reactjs.org/issues/3308
We now render all issue comments in Vue.
- Started with: https://zwbetz.com/make-a-hugo-blog-from-scratch/#tweak-blog-list-layout-title
- Got rid of bootstrap, replaced with a few hand-written CSS declarations from Better Motherfucking Website
- Used System UI Fonts
- Build front page
- Preview most recent posts on the front page
- Load icons from not JS, so it works with JS disabled
- Ensure it looks great in Firefox reader mode, including images
- Figure out how host images. B2? R2?
- Figure out comments as GitLab issues
- Plan migration of content from old blog
- Table of contents for longer posts?
- Show original post date and last updated date