Help us understand the problem. What is going on with this article?

2018年のHugoリリースを振り返る

More than 1 year has passed since last update.

はじめに

静的サイトジェネレータHugoの1年間を振り返ってみます。
ただし、0.xx.y形式のバグフィックスや小さい改善のみのバージョンは除きます。

Page Bundlesサポート

いきなり2017年のリリースから始まってますが、Page Bundlesのサポートが入りました。
Page Resourcesをまとめるための機能で、画像を多く使うサイトで便利です。
(逆に言えば自分は使ってない・・・)

Page BundlesにはLeaf Bundleという形式があり、部品に分けて管理することができます。
Wikipediaでのテンプレートのような機能が実現できるようです。

地味な改善(0.38〜0.41)

内部を整理したり、機能的には地味なものが多いです。

テーマコンポーネント(0.42)

ここまでは個人的にグッとくる機能はなかったのですが、
0.42で導入されたテーマコンポーネント機能は気に入っています。

これは何かというと、テーマを分割する機能です。
これまではテーマは1つしかなかったため、どうしてもごった煮になってしまいました。
0.42からは、ショートコードのみのテーマなど、小さく分割することができます。

自分は以下のようなテーマコンポーネントを作成しました。

Hugo Pipes(0.43〜0.44)

今年一番の機能は、このHugo Pipesです。

このHugo Pipesにより、以下のような機能がサポートされました。

地味ですが個人的に嬉しかったのが0.45での.GetPageの改善で、

{{ with .Site.GetPage "section" "blog" }}

以前はこう書いていたのが、より自然な形で書けるようになりました。

{{ with .Site.GetPage "/blog" }}

Go 1.11対応(0.48)

Hugoのテンプレートの書きづらかった点が、変数のスコープでした。
以前は回避するために.Scratchを使っていましたが、不要になりました。

Directory Based Archietypes(0.49)

Archetypesという、新規コンテンツのためのテンプレートの仕組みがありますが、
これがPage Bundlesに対応しました。

エラー処理の改善(0.50〜0.51)

エラー処理を改善した結果、5%速くなって8%メモリ消費が減ったという嬉しい副作用がありました。

インラインショートコード(0.52)

Markdownの中にショートコードが書ける機能が追加されました。
これは、BootstrapのドキュメントをHugoに移行するというIssueで出た機能です。

現在のHugo

ikemo memoという個人的なメモサイトを作っていますが、
ガリガリにカスタマイズしたテンプレートに、1200記事、1800ページを作って、わずか4〜5秒でビルドされます。

今のHugoで足りないのは、日付によるアーカイブ機能くらいでしょうか。

StaticGenを見ると、スターの勢いはJavaScript系に押されていますが、
Hugoはビルドの速さではダントツです。
なので、今後も独自の立ち位置で進化し続けるかなと。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away