この記事では、2023年8月時点での静的サイトジェネレーター(SSG)について、ブログ用として使えるかを比較してみました。ちなみに筆者はプログラマーではありません。

SSGに求める私の希望

ブログを続けるにあたって、静的サイトジェネレーターに求める私の希望は下記のとおり。

システムのテーマまたはプラグインに次の機能があること。

  1. 目次(TOC)において、サイドバー表示、表示コンテンツのハイライト機能、追従スクロール機能
  2. アーカイブなどリスト表示に、アイキャッチ(featured image)のサムネイル表示
  3. 検索(Search)機能
  4. 数式表示
  5. 上記の機能のテーマまたはプラグインが継続的に更新されていること
  6. ドキュメント(説明)が充実して記載されていること

https://jamstack.org/generators/

https://jamstackthemes.dev/theme/

に掲載のSSGをいくつか触ってみました。

Next.js

結論:最も人気だが、ブログに特化しておらず玄人向き

Next.jsは、Githubで★が10万超えで最も多いが、ブログ用というより、Webアプリケーション作成用といった印象です。

Jamstackでもブログ用テーマが少なく、私のニーズにあったものは見つけられませんでした。

ホスティングサービスのVercelが提供元であるため、Vercelのスターターテンプレートが使えるので、導入とデプロイは比較的容易なのが魅力です。

ただし、ブログテーマは、シングルカラムばかりでシンプルすぎるものばかりです。

Javascriptで作成されており拡張性に期待できるので、ブログテーマが充実すれば、利用の検討価値あるかもしれません。

Hugo

結論:ブログ向きのテーマが多いが、すべてのニーズを満たすものが見つからず

Hugoの公式サイトに掲載されているテーマのうち「Wowchemy Widget Pages」を使ってみました。

結果は、記事幅の調整方法などが記載いなかったり、一部昔のバージョンの解説が混じっているなどドキュメントの品質がいまいちで、使いにくい印象です。

追従スクロールや検索機能も不十分だったので、採用は見送ることにしました。

なお、公式サイトに掲載されていなせんが、テーマ「zzo」は、私が求める機能がほぼ網羅されていましたが、テーマの更新が数年止まっていましたので、これも採用見送りです。

ただ、日本でのSSGとしてググると一番記事がヒットするのがHugoです。

ビルド時間が最も速く、ローカルにビルドしたまま、編集すると反映されるのは魅力です。

Gatsby

結論:ビルド時間長すぎ

初期状態でビルドしてみると、5分近くかかってしまうので、使い物になりません。

Javascriptで作成されており、テーマやプラグインはたくさんあるので、ニーズを満たすものはあるかもしれませんが、ビルド時間がネックなので、探すのは諦めました。

Jekkyll

結論:開発時期が最も古く、開発言語もRubyなので不採用

Jamstackでテーマが最も多く、私のニーズを満たすテーマも見つかりそうな印象です。

Githubが開発元なので、Github Pagesと相性がよいみたい。

ただ、開発時期が他に比べて古いので、将来的に使い続けられるか不安です。

Nuxt.js

結論:玄人向けで、ブログには向かない

Next.jsとほぼ同じで、ブログ向けではないようです。

Astro

結論:新しすぎて、充実したブログテーマない

最近登場した注目のSSGであるが、新しすぎるせいかテーマがあまりない。

Javascriptで開発されており、注目度は高いようなので、今後の動向によっては採用してもよいかも。

MKDocs

結論:テーマで最も人気のMKdocs Matrialがあるが、発展途上

テーマ別のGithub starで、1万以上を獲得しているテーマ「MKDocs Material」を使ってみました。

ドキュメント特化のSSGで、ブログ機能がいまだ有料であったり、細かい調整ができなかったりと発展途上の様子。

ブログでなく、ドキュメント用Webサイトを作成するなら、採用してよいと思う。

Hexo

結論:ニーズをすべて満たすので採用

テーマ別のGithub star獲得数で、6位のテーマ「Butterfly」がHexoの最高位だったので使ってみたところ、テーマ内の機能がすべてのニーズを満たしていました。

まとめ

結果として、Hexoを使うことにしました。

Hugoのテーマzzoは、理想的なテーマではあるものの、更新が2年停止しているのが欠点です。

HexoのテーマButterflyは、ニーズをすべて満たしており、更新も止まっていないので、最適です。

将来的には、Astroなどのより新しいSSGに魅力的なテーマが登場したら乗り換えるかもしれません。