Skip to main content
Musings

Rebooting the blog

I finished transferring this blog to use zola, a Rust single-binary SSG similar to Hugo but with less insane templating. This is after 11ty announced an acquisition/rebrand as "Build Awesome" (by the same people behind Font Awesome). I think this is cool, but I realized I don't really want my build process to be tied into the javascript ecosystem churn.

Zola has a lot of opinions. There's no1 extensibility points, which is probably the biggest drawback so far. On the other hand, this forces you to think about what you actually need: is really going to make your website special or is it going to be yet another thing you do instead of actually writing?

The hierarchy in Zola is more straightforward. A folder with _index.md is a section. The markdown file frontmatter is used to describe the section, and set the sorting, section template, and page template. Other markdown files at the same level are pages inside said section. If you want to have folders for co-located assets, you can make the folder and use index.md as the content inside.

content about.md blog index.md _index.md 2022-03-24_SNESAPU.md 2024-06-14_yosys4gal gal_olmc.png pla_logic2.svg
content
|─ "_index.md"
|─ about.md
|─ blog
|  |─ "2022-03-24_SNESAPU.md"
|  |─ "2024-06-14_yosys4gal"
|  │  |── "gal_olmc.png"
|  │  |── index.md
|  │  `── "pla_logic2.svg"

the zola content hierarchy

One trick is that the file names can contain dates which will get stripped from the file name and used for the date attribute. I like this since it means that the content sorts the same (directory/file split aside).

Most of my CSS copied over cleanly. Zola can use Sass/SCSS which I switched to, mostly to make it easier to write some mixins. Many of the Sass features have become baseline CSS features, so I try to make sure to use only the remaining bits that CSS doesn't have.

on deployment

Previously I wrote about my nix deployment system. I devised a complex solution involving deploy-rs, nix profiles, and flakes.

I don't really like flakes anymore. I feel like they add a lot of complexity and try to be too much at once. As a replacement I've been using npins which only addresses the lockfile part. Instead of using deploy-rs, I have simply reverted to scp -r to a special user on my server.

I'm hoping that renewing some of the technologies on this site will spur me to write more articles, but I've been pretty busy with work and miscellaneous non-blog projects. I do have a few small weekend gizmos that I can write about.

  1. You can add custom syntax highlighter themes and grammars, otherwise it's just templates and a config file.