I rarely post here but often write (unpublished) notes for myself. Most of the things have already been said. But sometimes I learn something which is not easily found online - then I post here.
Also, in the context of the massive X/Twitter implosion and lack of good alternatives, I need a place to share links for reference.
How it’s Built
I used hugo and Jekyll for a long time. Both SSGs are well documented and supported by GitHub Pages. But I kept looking for something simpler until I settled for zola, which feels very suckless. Moving the content was manageable, all in all it only took a few hours
The deployment pipeline runs on sourcehut builds and pushes to sourcehut pages. After all the GitHub Actions magic or GitLab CI YAML mess in my professional life, it was nice to write this:
image: alpine/edge
oauth: pages.sr.ht/PAGES:RW
packages:
- hut
- zola
environment:
site: atamanroman.dev
sources:
- https://git.sr.ht/~user/my-site
secrets:
- XXX
tasks:
- build: |
cd my-site
zola build --base-url=https://$site
- package: |
cd my-site
tar -C public -cvz . > ../blog.tar.gz
- upload: |
hut pages publish -d $site blog.tar.gz
Just a shell on a machine with some preinstalled packages. And it’s building and deploying on push in 20 lines.
My CV is built with jsonresume and resume-cli. Some versions of it are private, that’s why the blog repo must be private (which is not supported for GitHub -> GitHub Pages). Public/private versions are generated by merging resume JSONs with jq in the pipeline.
The theme in use is riggraz/no-style-please (LICENSE), but I messed with the CSS a lot. I also added sindresorhus/modern-normalize as a baseline to get consistent styling over the blog and CV themes.
The font in use for the body is Zilla Slab. Code tags and blocks are in Berkeley Mono. I gladly paid them $75 - I use Berkeley Mono basically everywhere on my machine and now even on this page (kindly permitted by the personal developer license).
DNS happens at namecheap.com, because it just works most of the time.