ここのところ,Web サイトを制作しないといけない事案が多くて,静的サイトジェネレータ (SSG) についていろいろと調査をしました.
そのメモをまとめておきます.
mdbook
Rust 製のSSG.Rust 開発チームが,Rust のドキュメントを作るために制作したツールらしいですがあまりに完成されていたため Rust のドキュメント以外でも人気.近年急速にシェアを伸ばしている印象があります.コードブロックを文字列としてではなく,コードのまま埋め込むことが可能であるため,コードをたくさん書く必要があるドキュメントを本形式でまとめる際にとても便利です.lean のタクティク逆引きリストとかをこれで作りました.
Zola
これも Rust 製のSSG. mdbook のように「コードを埋め込む必要がある書籍」に特化したツールではなくて,一般的なWebサイトを作れる汎用ツール.既存の類似ツールである Jekyll と比較すると,テーマの使用法とカスタマイズ方法がわかりやすく,実行ファイルがバイナリ1つなのですっきりしていて扱いやすい印象です.lean-ja のサイトは悩んだ末にこれで作りました.
欠点として,シンタックスハイライトをあまりカスタマイズできないようで,lean など一般的なハイライトツールが使用できない言語のドキュメントを作るには向かないと思います.
Vite Press
私は使ったことがありません.中国語圏でよく使われれているようです.
Zola のように汎用的に使えるツールのようですが,使用例を見る限り Zola よりも javascript を使ってそうな見た目に仕上がる様子.Zola であっても気合を入れれば javascript でフロントエンドを飾ることができるはずですが,こちらの方が楽にできるのかもしれません.使ってみたいところです.
Quartz
これも使ったことがありません.中国語圏でよく使われているようです.
これの特色は,「デジタルガーデンを作る」という目的に特化しているところ.ぜひ公式サイトを見ていただきたいのですが,記事の間に貼られたリンクをたどって無向グラフを出力します.おもしろいですね.
個人的に,この「デジタルガーデンを作る」という思想はかなり気に入っていて,近いうちに使ってみたいなと思っています.既存ツールとの比較でいえば Scrapbox に似ていて,今後 Scrapbox から Quartz にも手を出すという人が増えそうな予感がします.私的注目度 No1 のSSGです.
(2023年11月5日 追記) Quartz を使ってみましたが,ホットリロードが組み込まれているものの,記事内でリンクを貼るたびに停止するので結構ストレスフルでした.コンセプトは好きなので残念….