shortcode

config.toml で設定した値を .html ファイルに出すような仕組みを考えます。 例題として、バージョンが上がるたびに変更される Windows64bit用の Hugo zip ファイル名を出すようにしてみましょう。 (このドキュメントでは実際に使用してます)

まず
<サイトフォルダ>\config.toml に

(省略)
[params]
(省略)
hugoVersion = "0.86.0"

の [params] に “hugoVersion” を追加すると、テンプレート内では “.Site.Params.HugoVersion” で参照できます。

ショートコードのフォルダに新しくファイルを作成します。 今回、ファイル名は “winhugofile.html” とします。
<サイトフォルダ>\layouts\shortcodes\winhugofile.html

{{ printf "hugo_%v_Windows-64bit.zip" .Site.Params.HugoVersion }}

Hugo zip ファイル名を出力する内容のファイルを作成し、markdown 記事中に

{{< winhugofile >}}

と記述することで、この部分は hugo_0.86.0_Windows-64bit.zip に展開されます。 何度も書く必要があって、あとで一括に変換したい場合などのときに利用すると便利です。


ちなみに、ショートコード展開せずに {{< winhugofile >}} と表示されるように、markdown 記事中に書くには

{{</* winhugofile */>}}

とします