zola は rust 製の静的サイトエンジン

https://www.getzola.org/

Your one-stop static site engine Forget dependencies. Everything you need in one binary.

zola で blog を作ったときのメモ

Why zola

  • 仕事で toC 向けのメディアをやっているので自分でサイトをホストしてみたかった
  • Next + vercel とかが慣れてるので速攻で始めやすいが、blog には too much だし、セキュリティとかの問題とかも考えると依存管理がシンプルなものが良い
  • emacs org mode で書いたものをそのまま公開できる

Basics

https://www.getzola.org/documentation/getting-started/overview/

この overview を一通りなぞればだいたい分かる contents 以下に markdown を加えて build すれば静的サイトが作成されるので適当なところにホストすれば良い

Extra features

RSS feed

会社の技術ブログのキュレーションに RSS feed を使っているので必要

https://www.getzola.org/documentation/templates/feeds/

config に以下の変更を加えるだけで /atom.xml が生成される

generate_feeds = true

blog をホストする理由は会社とは関係なく個人のブログサイトとして運営したい意図もあるので、会社用の feed を生成したい

taxonomy を定義すると contents を特定の group にまとめ、それぞれに feed を作成することができる

会社名を taxonomy に定義し、会社で書いたブログに taxonomy をセットする

config に taxonomies を定義

taxonomies = [
    { name = "company", feed = true},
]

company を定義したので /company で taxonomy の一覧と term を表示するための template を作成

/templates/taxonomy_list.html/templates/single.html を作成する

こうすることで /company で taxonomy 一覧と /company/HERPcompany=["HERP"] で定義した post 一覧が確認でき、 /company/herp/atom.xmlcompany=["HERP"] の post の RSS feed が作成され会社用のブログの feed を会社のキュレーションシステムに渡せる

design

デザインは最低限でよいが、とりあえず読みやすくしたい

適当に opencode で指示して sass 調整してもらった