0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Day19:Hugoでtaxonomyやtermページの出力を抑制する方法

Posted at

本記事の概要

Hugoでのtaxnomyページやtermページの出力を抑制する方法について説明します。

前提

Hugo+Blowfishテーマ適用済みの環境です。
なお、Windowsでの操作を想定しています。
(本記事が属するアドベントカレンダーについてもご確認ください)

結論

hugo.tomlで下記のようにtaxnomyやtermに対して[]として指定すればよいです。
こうすることで、 内部的なtaxnomyやtermの機能は有効にしつつ、HTMLとしての一覧ページ出力を行わないようにできます。

hugo.toml
# 出力形式
[outputs]
  # taxonomyとtermページは邪魔なので出力しない。
  taxonomy = []
  term = []

hugo.tomlのdisableKindsにtaxnomyやtermを指定すると、Blowfishテーマのシリーズ機能が使えなくなるため、指定しない方が良い。

blowfishテーマにおける注意点:disableKindsとの違い

taxnomy機能やterm機能を有効にする場合は、hugo.tmlで下記のようにdisableKindsの項目として指定することで無効化できます。

disableKindsの設定方法
# 404, home, page, robotstxt, rss, section, sitemap, taxonomy,term
disableKinds = ["taxonomy", "term"]

こうすることで、機能そのものが無効化されるため、必然的にTaxnomyやTermページの出力もされなります

ただし、blowfishテーマではこの場合に困るケースが存在します。
具体的に言えば、シリーズ機能が動作しなくなります。

シリーズ機能は下記のblowfish公式サイトでの記載にもある通り、seriesというtaxnomyを設定することで、記事内に「パート ●●」といった表示ができる機能です。

従って、disableKindsでtaxnomyやtermを無効化してしまうと、Series機能が動作しなくなります。
disableKindsでtaxnomyやtermの指定を解除するとシリーズ機能も使えますが、当然Taxnomyページやtermページが出力されます。

つまり「記事内にパート●●を埋め込むためにシリーズ機能は使いたいが、Taxonomyやtermページによる一覧の表示は不要」といったユースケースで困ることになります。

こういったユースケースでは、taxnomyやtermを内部的に有効にしつつ、taxnomyやtermページの出力を止めてあげる必要がありますので、outputsで指定することになります。

まとめ

それぞれのパラメータの違いや使い分けは下記のようになります。

outputsはそれぞれのページの出力フォーマットを規定するコンフィグパラメータで、[]を指定すると(内部的に機能自体は有効のまま)結果を出力しないことになります。

disableKindsに指定すると、機能自体が無効化されます。
よって、内部的には使用するが、HTMLの出力が要らないといったケースでは用いるべきではありません
disableKindsを使用するのは、内部も含めて機能そのものを使用しない時に限られますので、指定する際は細心の注意を払いましょう。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?