Hugo :ショートコードでパーティションを使う


最近、私は、共通の全く同じHTMLマークアップを持っている様々なshortcodesでこのエッジケースを持ちました.
Hugoは、カスタムテンプレートをロードするショートカットとしてマークダウンファイル(コンテンツに使用)でショートコードを使用することができます.代わりにHTMLを直接使うかもしれませんが、それはあまり保守的ではありません.
私のお気に入りの機能の一つは、layouts/shortcodesディレクトリ内のサブフォルダ内のショートコードを整理する機能です.あなたも、他のショートコード内のショートコードをネストすることができます!
Source: Hugo documentation - Create Your Own Shortcodes
ただし、いくつかのテンプレートを使用して不要な重複を防ぐためにいくつかの種類を使用することもできます.
<!-- layouts/shortcodes/myshortcode.html -->
<!-- layouts/shortcodes/myshortcode2.html -->
{{ $param1 := .Get 0 }}
{{ partial "mypartial" (dict "param1" $param1) }}
  • は、$param1layouts/shortcodes/myshortcode.htmlの両方でlayouts/shortcodes/myshortcode2.htmlをつかむことができます
  • 部分の場所は、layouts/partials/mypartial.htmlです
  • は、位置パラメータの代わりにnamed parametersを使用することができ、.Get 0.Get "myparameter"となり、.Get 0.Get 1.Get 2
  • などを読むことができます
    次に、テンプレートファイルで
    <div class="myhtml">
    {{ with .param1 }}
        {{ . }}
    {{ end }}
    </div>