Hugoにブログを移行した

February 4, 2015 (Updated on: August 15, 2023)
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オプションを付けて起動するとディレクトリの変更を監視してauto reloadもできるので非常に快適に執筆ができる。

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