1 min read

僕にとっての静的ファイルジェネレータのベストはHugo

Table of Contents

僕は結構前からブログを書いている(作ったり壊したりしているので、捨ててきた記事もたくさんあるが)。

ブログサービス(fc2、はてなブログ、Blogger)や CMS(WordPress)、静的ファイルジェネレータなど、一通りのものは試してきたつもりだ。直近ではフロントエンドの勉強も兼ねて Gridsome1を使っていた。

ただその中で一番しっくりきたのが、Hugo だった。もちろんこれは人それぞれなので、他の人に「Hugo サイコー!」とかいって押し売りするつもりはない。あくまで僕個人の話として聞いてほしい。

ブログに求めているもの

僕がブログに求めているものは非常にシンプルだ。

  • Git 管理できること
  • Markdown で書けること
  • 運用コストがかからないこと

ただし、この時点でブログサービス・CMS は候補から外れてしまう。ブログサービス・CMS ともに Git 管理が非常に手間だからだ。

例えばはてなブログなら API が公開されているので、API 経由でやり取りすることで Git 管理はできるが、非常に手間がかかる(加えて、仕様上の問題で完全に意図したような管理は出来ない)。

WordPress も記事は基本的に MySQL で管理しているので難しい。MySQL 以外の選択肢や、WordPress 自体を静的ファイル化する方法もあるが、別にそこまでして WordPress を使いたいわけではない。

ということで残る選択肢は静的ファイルジェネレータのみで、どの静的ファイルジェネレータを使うか、という話になってくる。先述した Vue.js 製の Gridsome や React 製の GatsbyJS2等は、モダンな技術をふんだんに使っていて、エンジニアにとっては非常におもしろいプロダクトだ。

ブログ自体は開発したくない

じゃあ素直に Gridsome か GatsbyJS を使えばいい…とはならなかった。

正確に言えば、少し前までは、勉強を兼ねておもしろいプロダクトでも触るかーと思って Gridsome を触っていたのだが、最近になって僕の興味が別の方向にシフトしてしまったので、ブログそのものを開発する気がなくなってしまった。

Gridsome 自体は僕のスキルとして強化したいと思っていた Vue.js や GraphQL が使われていたのだけど、まだv1.0に満たない発展途上のプロダクトだ。一緒にプロダクトを作っていくにはほどよいタイミングだけど、一方で静的ファイルジェネレータとして「使う」ことを考えると、足りないものが多すぎた。

GatsbyJS は既にそこそこのエコシステムが揃っているのでブログとしては必要十分だが、いかんせん個人的に React を積極的に使いたいとは思わなかったので見送った。

書くことに注力したかった

Hugo はジェネレータとしては優秀だが、いざテーマをカスタマイズしようとすると、生の HTML を触ることになるので今ひとつカスタマイズに対する情熱が湧き上がらない。

一方で、ジェネレータとしては非常に成熟しているので、テーマが非常に多く、一つくらいは「いいかも!」と思えるテーマがあるはずだ。今このブログで使っている Academic3というテーマも、その一つ。

なので、積極的にカスタマイズしなくてもそこそこのものが使えるので、書くことそのものに注力できる。

ブログを開発したいんじゃない、ブログを書きたいんだ。

Footnotes

  1. Vue.js-powered static site generator - Gridsome

  2. GatsbyJS

  3. Academic