Goldmark設定

こんにちはnasustです。 Markdownのhtml変換エンジンであるGoldmarkの設定を解説します。 Hugo 0.60以上でサポートしています。

Hugoに組み込まれているオープンソースのURLは以下のページです。

デフォルトの設定

設定ファイルで指定していない場合は以下の設定で動作します。

[markup]
  [markup.goldmark]
    [markup.goldmark.extensions]
      definitionList = true
      footnote = true
      linkify = true
      strikethrough = true
      table = true
      taskList = true
      typographer = true
    [markup.goldmark.parser]
      attribute = true
      autoHeadingID = true
      autoHeadingIDType = "github"
    [markup.goldmark.renderer]
      hardWraps = false
      unsafe = false
      xHTML = false
toml

markup.goldmark.extensions

Markupの拡張設定です。

definitionList

dl,dt,ddタグの機能の有効/無効を設定します。
デフォルト: true

see also: PHP Markdown Extra

書式

Hugo
:   最速の静的サイトジェネレーター

VuePress
:   Vueを使用した静的サイトジェネレーター
markdown

変換後のhtml

<dl>
    <dt>Hugo</dt>
    <dd>最速の静的サイトジェネレーター</dd>

    <dt>VuePress</dt>
    <dd>Vueを使用した静的サイトジェネレーター</dd>
</dl>
html

footnote

注釈の機能の有効/無効を設定します。
デフォルト: true

see also: PHP Markdown Extra

書式

Hugo[^1]

[^1]: 最速の静的サイトジェネレーター
markdown

変換後のhtml

<!-- 注釈の対象HTML -->
<a href="#fn:1" class="footnote-ref" role="doc-noteref">
1
</a>

<!-- 記事の最後に注釈の内容が追加されるHTML -->
<section class="footnotes" role="doc-endnotes">
    <hr>
    <ol>
        <li id="fn:1" role="doc-endnote">
            <p>最速の静的サイトジェネレーター <a href="#fnref:1" class="footnote-backref" role="doc-backlink">↩︎</a></p>
        </li>
    </ol>
</section>
html

linkify

www.hoge.comなどテキストを自動的にリンクにする機能の有効/無効を設定します。
デフォルト: true

see also: GitHub Flavored Markdown Spec

strikethrough

取り消し線の機能の有効/無効を設定します。
デフォルト: true

see also: GitHub Flavored Markdown Spec

書式

~~やあ~~ こんにちは
markdown

変換後のhtml

<p><del>やあ</del> こんにちは</p>
html

table

表の機能の有効/無効を設定します。
デフォルト: true

see also: GitHub Flavored Markdown Spec

書式

| hoge | fuga   |
| ---- | ------ |
| piyo | hogera |
markdown

変換後のhtml

<table>
    <thead>
        <tr>
            <th>hoge</th>
            <th>fuga</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>piyo</td>
            <td>hogera</td>
        </tr>
    </tbody>
</table>
html

taskList

タスクリストの機能の有効/無効を設定します。
デフォルト: true

GitHub Flavored Markdown Spec

書式

- [ ] hoge
- [x] fuga
markdown

変換後のhtml

<ul>
    <li><input disabled="" type="checkbox">hoge</li>
    <li><input checked="" disabled="" type="checkbox">fuga</li>
</ul>
html

typographer

句読点を自動的に変換する機能の有効/無効を設定します。
デフォルト: true

see also: Daring Fireball Projects: SmartyPants

" "“ ”などに自動的に変換します。

プログラミングのソースコードを載せる場合などは無効にした方が良いです。

markup.goldmark.parser

attribute

見出しにidやクラス名など設定する機能の有効/無効を設定します。
デフォルト: true

see also: yuin/goldmark: A markdown parser written in Go. Easy to extend, standard(CommonMark) compliant, well structured.

書式

## heading {#id .className attrName=attrValue class="class1 class2"}
markdown

書式例

## H2見出し {#h2_headline .hoge style="color:red;" }
markdown

変換後のhtml

<h2 id="h2_headline" class="hoge" style="color:red;">H2見出し</h2>
html

autoHeadingID

見出しに自動的にidを設定する機能の有効/無効を設定します。
デフォルト: true

autoHeadingIDType

見出しに自動的にidを設定する場合の命名規則を設定します。
デフォルト: "github"

see also: Incomplete auto heading ID for extended Latin and CJK characters · Issue #6616 · gohugoio/hugo

github、github-ascii、blackfridayのいずれかを設定できます。

  • github - GitHub互換のIDを生成します。
  • github-ascii,blackfriday - アクセントの正規化後に非ASCII文字をドロップします。見出し例:「Hugoとは」 → 「id=Hugo」

markup.goldmark.renderer

hardWraps

Markdownのテキストの改行をbrタグにする機能の有効/無効を設定します。
デフォルト: false

unsafe

Markdown内のhtmlの有効/無効を設定します。
デフォルト: false

xHTML

Markdownのhtml変換をxhtmlにする機能の有効/無効を設定します。
デフォルト: false

prevnext