blog を octopress から Hugo に乗り換えたメモ

今まで blog は octopress で書いてたのですが、先日ひさしぶりに「おっしゃ!書くか!」ってなって octopress コマンド叩いたらエラー出てて「めんどくせええぇぇぇぇーーーー!!!1」ってなってたらdeeeetさんの Octopuses から Hugo へ移行した をナイスなタイミングで読んだので便乗して Hugo に乗り換えてみました。

使い方はHugoDocsに丁寧にかかれているのでオススメです。

やったこととしては

・ 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 するかでやり方が様々なので導入の際は事前に考えておいたほうがよさそうです。

まだまだ発展途上で、どう進化していくのか楽しみなのでもう少し使い込んでみたいと思います。

Built with Hugo
Theme Stack designed by Jimmy