第6章エディション

内容が異なるPDFのファミリーを生成する必要がある場合、HUGOの Configuration Directory の仕組みを利用してエディションを作り分け、構成や記事内容を切り替えてビルドできます。

6.1エディションのconfigを作成する

/config/myedition.tomlを作成し、ビルド時にdefault.tomlとともに指定することで簡単にmyeditionエディションを作成することができます。

特定要素の表示/非表示を切り替える

ShowIf / HideIf ショートコード/フロントマターと共にshowIfsを使用することで表示/非表示を切り替えます。

[params]
  showIfs = ["edition1"]

この場合、.mdの記事で以下のように記載した要素が表示されます。

{{% ShowIf edition1 %}}
ここにedition1をサポートする場合に表示するコンテンツを記述。
{{% /ShowIf %}}

以下のように記載した要素はedition1でのみ非表示になります。

{{% HideIf edition1 %}}
ここにedition1の場合には非表示にするコンテンツを記述。
{{% /HideIf %}}

特定記事・セクションの表示/非表示を切り替える

記事/セクション単位では以下のようにフロントマターを書いている場合にPDFに含まれます。必ずリスト形式(["xxx", "yyy"])で書く必要があります。

[params]
  showIfs = ["edition1"]

config.tomlに"edition1"を含むとき、以下のページはPDFに含まれることになります。

---
title: edition1の説明
ShowIf: ["edition1"]
---

HideIfを使用し以下のようにすると、edition1のPDFには含まれなくなります。

---
title: edition1以外で表示
HideIf: ["edition1"]
---

6.2ビルドする

エディションを指定してビルドするには、引数にエディションを指定します。例えばotherエディションをビルドするには以下のように指定します。

Hugo

set HUGO_PARAMS_ISPDF=true
hugo --config "config/default.toml","config/other.toml" -b ""

Batch

.\CI\build_pdf.bat other