Hugoにブログを移行した

February 4, 2015
by Keichi Takahashi

タイトルの通り、Hugoという静的ブログエンジンにブログを移行した。とは言っても、ブログを書くのは4, 5年ぶりなのでもはや移行したという言葉はふさわしくないかもしれない。さらに以前のブログのコンテンツは捨てたので再開した、あるいは開始したというべきだろう。

なぜHugoなのか

OctopressからHugoへ移行したというブログポストを読んで良さげな感じだったから。理由もほとんどそこに書いてあることと一緒なんだけど、一応ここにも書いておくと、こんな感じになる:

  • 記事の生成時間が速い
  • Go言語製
  • これから流行りそうな雰囲気が出ているので、流行りに先乗りする
  • サーバのセットアップが最小限で済む
  • テーマ周りがシンプルで、自作のテーマがを作りやすそう

ちなみにnode.js製のGhostというブログエンジンも検討対象に入っていた。実はGhostに少しだけコントリビュートしたこともあるんだけど、採用するのはやめた。やはりプログラマとしては、静的ファイルジェネレータの方が色々と都合が良いと思ったためだ。


Hugoでのブログの始め方

ブログを構築した際の手順をここにメモしておく。

まず、hugoのバイナリをインストールする。MacならHomebrewでインストールできる。

$ brew install hugo

次に、ブログのディレクトリを作成して初期化する。

$ hugo new site path_to_your_blog

そして、テーマをインストールする。Hugoのテーマはspf13/hugoThemesというリポジトリにsubmoduleとして集約されていて、このリポジトリをcloneすると全てのテーマを落としてくることができる。もちろん、使いたいテーマが決まっているのなら、そのテーマだけthemesの中にcloneすれば良い。

$ cd path_to_your_blog
$ git clone --recursive https://github.com/spf13/hugoThemes.git themes

これでインストールは終わったので、記事の作成を始められるんだけど、さらに必要に応じてconfig.tomlに書かれている設定を編集しておく。記事の作成は、hugoのサブコマンドで行う。

$ hugo new post/first.md

作成したMarkdownファイルを編集したら、次のコマンドでプレビューができる。

$ hugo server -t テーマ名 -D

これでローカルでウェブサーバが立ち上がり、ブラウザで生成したブログのプレビューができる。-wオプションを付けて起動するとディレクトリの変更を監視してautoreloadもできるので非常に快適に執筆ができる。

生成したファイルはpublic以下にあるので、これらをGitHub Pages/S3/VPSなどで公開すれば良い。GitHub Pagesに上げる手順はhugoのドキュメントに詳しく書かれているので、これがおすすめ。他の色々なドキュメントも同じサイトにまとまっているで、これを読めばすぐに使い始められると思う。