kanta's spike

HugoのMarkdown内にHTMLを直接記述すると、<!-- raw HTML omitted -->に変換され無視される。 直接HTMLを書く手段が欲しい。

例えば、Markdownで表を書く場合、以下のように書く。

| aa | bb | cc |
|:--:|:---|:---|
|あいうえお|かきくけこ|さしすせそ|
aa bb cc
あいうえお かきくけこ さしすせそ

しかし、表内にリストを書くような少し複雑な表は、HTMLを直接書けないために、書くことができない。

解決策

直接HTMLを書くためのMarkdown Render Hooksを利用する。

layouts/_default/_markup/render-codeblock-rawhtm.htmlを作成する。

<div class="rawhtml">
    {{- .Inner | safeHTML }}
</div>

これにより、以下のように直接HTMLを記載できる。

~~~rawhtml
<table>
<tr><th>aa<th>bb<th>cc</tr>
<tr><td><ul><li>あ<li>い<li>う<li>え<li>お</ul><td>かきくけこ<td>さしすせそ</tr>
</table>
~~~
aabbcc
かきくけこさしすせそ

参考

作成日: 2022/07/23