Markdown Render Hooks
はじめに
HugoのMarkdown Render Hooksの使い方を紹介します。
Markdown Render Hooksは、マークアップライブラリとして、Goldmarkを選択したときに利用できる機能です。
Goldmarkが出力するHTMLを変更することができます。変更できるのは、以下の3種類です。
- image
- link
- heading
以下のユースケースが紹介されています。
- .GetPageを使って、リンクを解決する。
- 外部リンクに、target=_blankを追加する。
- イメージの処理を行う。
- ヘッダーリンクを追加する。
ファイル構成
Markdown Render Hooksは、以下に配置します。
- layouts/
- _default/
- _markup/
- render-image.html
- render-link.html
- render-heading.html
- _markup/
- _default/
タイプやセクションごとに、異なる定義を行うこともできるようです。
- layouts/
- blog/
- _markup/
- render-image.html
- render-link.html
- render-heading.html
- _markup/
- blog/
Hook内で利用できるコンテキスト
Hookでは、種類に応じて、以下のコンテキストが利用できます。
種類 | .Page | .Destination | .Title | .Text | .PlainText | .Level | .Anchor | .Attributes(map) |
---|---|---|---|---|---|---|---|---|
render-image | ✔ | ✔ | ✔ | ✔ | ✔ | |||
render-link | ✔ | ✔ | ✔ | ✔ | ✔ | |||
render-heading | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ |
使用例
以下は、Hugoのサイトでも紹介されているrender-linkの利用例です。このサイトでも使用しています。
.Destination(参照先のURL)が、“http"で始まるときに、target="_blank" rel="noopener"
を付加して、新しくウインドウを開くようにしています。
|
|
最終更新日
March 25, 2021