今まで blog は octopress で書いてたのですが、先日ひさしぶりに「おっしゃ!書くか!」ってなって octopress コマンド叩いたらエラー出てて「めんどくせええぇぇぇぇーーーー!!!1」ってなってたらdeeeetさんの Octopuses から Hugo へ移行した をナイスなタイミングで読んだので便乗して Hugo に乗り換えてみました。
使い方はHugoのDocsに丁寧にかかれているのでオススメです。
やったこととしては
・ Theme の選定とカスタマイズ
・ config.toml の作成
くらいです。
Theme の選定
hugoThemesに Theme が用意されている。Theme を作れるほどのスキルはなかったのでこの中からチョイスしてカスタマイズすることにしました。 日に日に Theme が増えているようなのでこまめにチェックするといいかもしれないです。 また、Theme の preview サイトが coming soon となっているので待ち遠しいですね。
Theme のカスタマイズ
とりあえず Theme をいろいろ見てみてlanyonがよさげだったのでとりあえずこれをベースにカスタマイズしました。 といっても sidebar の項目をメンテしたりsharebuttonを突っ込んだりしたくらいです。
config.toml の作成
Hugo はtomlが使えるということだったので config ファイルは toml にしてみました。 参考までに使用している現在の config.toml は以下となります。
contentdir = "content"
layoutdir = "layouts"
publishdir = "public"
baseurl = "https://blog.jigyakkuma.org"
[indexes]
category = "categories"
tag = "tags"
[params]
Title = "俺よりイケてないエンジニアはいない"
description = "jigyakkuma's blog"
DateForm = "Jan 02 , 2006"
languageCode = "ja"
countryCode = "ja"
[permalinks]
post = "/:year/:month/:day/:filename/"
[params.Twitter]
Account = "@jigyakkuma_"
Url = "https://twitter.com/jigyakkuma_"
[params.Github]
Url = "https://github.com/jigyakkuma"
UserName = "jigyakkuma"
こんな感じでパラメータを定義しておいて
{{ .Site.Params.Twitter.Account }}
で layout 用の html に突っ込んどくと使えます。
感想
最初は便乗して乗り換えてみるか!くらいの感じでしたが、Hugo が Go で実装されているというところもあって Go の環境があれば go get してすぐに使い始められるのは個人的には楽でした。 ディレクトリ構成もシンプルなのでわかりやすくて good。
$ tree -L 1
.
├── archetypes
├── config.toml
├── content
├── layouts
├── public
└── static
public 内のファイルをサーバに置けば(この blog は github pages)公開されますが、どこにどういう風に deploy するかでやり方が様々なので導入の際は事前に考えておいたほうがよさそうです。
まだまだ発展途上で、どう進化していくのか楽しみなのでもう少し使い込んでみたいと思います。