hugoのshortcodesを使う&自作する
hugoでは,markdownに独自のhtmlを入れたい時,shortcodesを使います. htmlタグを書くというやり方もありますが、partialなどは使えません.
shortcodesは,jsxをmarkdownに書くmdxみたいなものですね.
組み込みshortcodes
hugoの組み込みshortcodesもたくさんあるので,目的にマッチするものがあればそれを使用した方が楽です.
画像を表示するものであれば,figure
があります.
markdownでshotcodesを利用する時は,{{</* ここに書く */>}}
のように書きます.
mdに記載すれば,すぐに利用できます.
{{</* figure src="/media/spf13.jpg" title="Steve Francia" */>}}
自作imgタグ
カスタマイズしたい時は,自作することもできます.
自作する時は,layouts/shortcodes/
以下にhtmlファイルを作ります.
自作といっても,widthとheightを付けたimgタグの例.
layouts/shortcodes/img.html
<img alt="{{ .Get "title" }}" src="{{ .Get "src" }}" width="{{ .Get "width" }}" height="{{ .Get "height" }}"/>
.Get "xxx"
でパラメータを展開できます.
{{ $title := .Get "title }}"
とすると,変数{{ $title }}
として利用できます.
markdownで呼ぶ場合
{{</* img src="/img/fig.png" title="画像です" width="800" height="500" */>}}
shortcodes/ファイル名.html
のファイル名部分で呼び出します.今回はファイル名がimg
です