Golang製のサイトジェネレータ【HUGO】を使ってみた

HUGOはGolang製のサイトジェネレータです。 ブログやQiitaの記事でも「WordpressからHUGOに移行した」みたいな記事が結構あったので試しに使ってみました。

公式ページのQuick Startに従ってmacOSでの構築手順をご紹介します。

インストール

Homebrewでインストールできます。

brew install hugo

これだけです。

うまくインストールができていれば

hugo version

でバージョン情報が返ってきます。

サイト生成
hugo new site [サイト名]

で[サイト名]で指定した名前のディレクトリが生成されます。

テーマ追加

https://themes.gohugo.io/からテーマを選びます。 使いたいテーマが決まったら

cd quickstart;
git init;
git submodule add [テーマのURL] themes/[テーマ名];

でテーマをインストールして

echo 'theme = "[テーマ名]"' >> config.toml

で設定ファイルを更新してテーマを適用します。

コンテンツ追加

記事を投稿するには

hugo new posts/[ファイル名].md

次のコードでいよいよサイトを表示します。

hugo server -D

これでhttp://localhost:1313/を開くとサイトが表示されます。
ちなみに、-Dは下書き状態の記事も表示するオプションです。

あとは設定ファイルのサイト情報を編集したり記事を追加していったりしてサイトを充実させていきます。

感想

とにかくシンプル。
コマンド1つでサイトを生成でき、記事の投稿もコマンドでファイル生成。
何よりも記事をyamlやMarkdownで書けるのが。
そして一番うれしいのはserveしておくと保存する度に更新されて編集内容をリアルタイムで確認しながら記事を書いていけること。
僕はiTerm2でNeovim使ってるので:wする度にターミナルの向こうに透けて見えるブラウザでどのように表示されるのか確認できるのでホットキーでターミナルとブラウザを切り替える必要すらなく、まさにストレスフリー。
しかも、テーマも100種類以上公開されていて、もちろん編集もできるので、かなりのサイトは事足りてしまうんじゃないでしょうか。
コマンドラインに慣れない非エンジニアが記事を投稿するようなユースケースでは難しいかもしれませんが…

もう少し使い込んでみてFirebaseでのホストにも挑戦してみようと思います。