Hugo のデフォルトの Markdown ハンドラーに関連する設定については、Goldmark
を参照してください。
以下は、Hugo のマークアップ関連の設定とその初期設定です。
markup:
asciidocExt:
attributes: {}
backend: html5
extensions: []
failureLevel: fatal
noHeaderOrFooter: true
preserveTOC: false
safeMode: unsafe
sectionNumbers: false
trace: false
verbose: false
workingFolderCurrent: false
defaultMarkdownHandler: goldmark
goldmark:
extensions:
definitionList: true
footnote: true
linkify: true
linkifyProtocol: https
strikethrough: true
table: true
taskList: true
typographer: true
parser:
attribute:
block: false
title: true
autoHeadingID: true
autoHeadingIDType: github
wrapStandAloneImageWithinParagraph: true
renderer:
hardWraps: false
unsafe: false
xhtml: false
highlight:
anchorLineNos: false
codeFences: true
guessSyntax: false
hl_Lines: ""
hl_inline: false
lineAnchors: ""
lineNoStart: 1
lineNos: false
lineNumbersInTable: true
noClasses: true
noHl: false
style: monokai
tabWidth: 4
tableOfContents:
endLevel: 3
ordered: false
startLevel: 2
[markup]
defaultMarkdownHandler = 'goldmark'
[markup.asciidocExt]
backend = 'html5'
extensions = []
failureLevel = 'fatal'
noHeaderOrFooter = true
preserveTOC = false
safeMode = 'unsafe'
sectionNumbers = false
trace = false
verbose = false
workingFolderCurrent = false
[markup.asciidocExt.attributes]
[markup.goldmark]
[markup.goldmark.extensions]
definitionList = true
footnote = true
linkify = true
linkifyProtocol = 'https'
strikethrough = true
table = true
taskList = true
typographer = true
[markup.goldmark.parser]
autoHeadingID = true
autoHeadingIDType = 'github'
wrapStandAloneImageWithinParagraph = true
[markup.goldmark.parser.attribute]
block = false
title = true
[markup.goldmark.renderer]
hardWraps = false
unsafe = false
xhtml = false
[markup.highlight]
anchorLineNos = false
codeFences = true
guessSyntax = false
hl_Lines = ''
hl_inline = false
lineAnchors = ''
lineNoStart = 1
lineNos = false
lineNumbersInTable = true
noClasses = true
noHl = false
style = 'monokai'
tabWidth = 4
[markup.tableOfContents]
endLevel = 3
ordered = false
startLevel = 2
{
"markup": {
"asciidocExt": {
"attributes": {},
"backend": "html5",
"extensions": [],
"failureLevel": "fatal",
"noHeaderOrFooter": true,
"preserveTOC": false,
"safeMode": "unsafe",
"sectionNumbers": false,
"trace": false,
"verbose": false,
"workingFolderCurrent": false
},
"defaultMarkdownHandler": "goldmark",
"goldmark": {
"extensions": {
"definitionList": true,
"footnote": true,
"linkify": true,
"linkifyProtocol": "https",
"strikethrough": true,
"table": true,
"taskList": true,
"typographer": true
},
"parser": {
"attribute": {
"block": false,
"title": true
},
"autoHeadingID": true,
"autoHeadingIDType": "github",
"wrapStandAloneImageWithinParagraph": true
},
"renderer": {
"hardWraps": false,
"unsafe": false,
"xhtml": false
}
},
"highlight": {
"anchorLineNos": false,
"codeFences": true,
"guessSyntax": false,
"hl_Lines": "",
"hl_inline": false,
"lineAnchors": "",
"lineNoStart": 1,
"lineNos": false,
"lineNumbersInTable": true,
"noClasses": true,
"noHl": false,
"style": "monokai",
"tabWidth": 4
},
"tableOfContents": {
"endLevel": 3,
"ordered": false,
"startLevel": 2
}
}
}
詳細については、以下の各セクションを参照してください。
Goldmark
Goldmark
は Hugo 0.60 から Markdown に使用されるデフォルトのライブラリです。 これは高速で、CommonMark
に準拠しており、非常に柔軟です。
以下がデフォルト設定です。
markup:
goldmark:
extensions:
definitionList: true
footnote: true
linkify: true
linkifyProtocol: https
strikethrough: true
table: true
taskList: true
typographer: true
parser:
attribute:
block: false
title: true
autoHeadingID: true
autoHeadingIDType: github
wrapStandAloneImageWithinParagraph: true
renderer:
hardWraps: false
unsafe: false
xhtml: false
[markup]
[markup.goldmark]
[markup.goldmark.extensions]
definitionList = true
footnote = true
linkify = true
linkifyProtocol = 'https'
strikethrough = true
table = true
taskList = true
typographer = true
[markup.goldmark.parser]
autoHeadingID = true
autoHeadingIDType = 'github'
wrapStandAloneImageWithinParagraph = true
[markup.goldmark.parser.attribute]
block = false
title = true
[markup.goldmark.renderer]
hardWraps = false
unsafe = false
xhtml = false
{
"markup": {
"goldmark": {
"extensions": {
"definitionList": true,
"footnote": true,
"linkify": true,
"linkifyProtocol": "https",
"strikethrough": true,
"table": true,
"taskList": true,
"typographer": true
},
"parser": {
"attribute": {
"block": false,
"title": true
},
"autoHeadingID": true,
"autoHeadingIDType": "github",
"wrapStandAloneImageWithinParagraph": true
},
"renderer": {
"hardWraps": false,
"unsafe": false,
"xhtml": false
}
}
}
}
拡張機能の詳細については、Goldmark ドキュメントの このセクション
を参照してください。
以下に、一部の設定について説明します。
- hardWraps
- デフォルトでは、Goldmark は段落内の改行を無視します。 改行を
<br>
要素としてレンダリングするには、true
に設定します。
- unsafe
- デフォルトでは、Goldmark は生の HTML と潜在的に危険なリンクをレンダリングしません。 インライン HTML や JavaScript がたくさんある場合は、これをオンにする必要があるかもしれません。
- typographer
- この拡張機能は、句読点を smartypants
のようなタイポグラフィの実体に置き換えます。
- attribute
- タイトルとブロックのカスタム属性サポートを有効にするには、1つの中括弧内に属性リスト (
{.myclass class="class1 class2" }
) を追加し、それを装飾する Markdown 要素の後に タイトルの場合は同じ行、ブロックの場合はそのすぐ下の新しい行に配置します。
Hugo ではテーブル、リスト、パラグラフなどの Markdown ブロックへの属性 (たとえば、CSS クラス) の追加をサポートしています。
CSS クラスを持つブロック引用の例:
現在のところ、いくつかの制限があります。現在のところ、テーブルの場合はテーブル全体に対してのみ、リストの場合は ul
/ol
ノードのみに適用できます。たとえば、以下の通りです。
* Fruit
* Apple
* Orange
* Banana
{.fruits}
* Dairy
* Milk
* Cheese
{.dairies}
{.list}
コードフェンス
の属性は、他のハイライト処理命令と一緒に、開始タグの後に配置しなければならないことに注意してください。例えば、以下の通りです。
```go {.myclass linenos=table,hl_lines=[8,"15-17"],linenostart=199}
// ... code
```
- autoHeadingIDType (“github”)
- 自動生成される ID (アンカー名) を作成する際に使用するストラテジー。利用可能なタイプは
github
、github-ascii
、blackfriday
です。github
は GitHub 互換の ID を作成し、 github-ascii
はアクセントの正規化後に非アスキー文字を削除し、blackfriday
は Hugo 0.60 以前のデフォルト Markdown エンジンである Blackfriday と互換性のある ID を作成します。 Goldmark がデフォルトの Markdown エンジンである場合、これは anchorize
テンプレート関数で使用される戦略でもあることに注意してください。
ハイライト
これはデフォルトの highlight
設定です。これらの設定のいくつかはコードブロックごとに設定できることに注意してください。詳細は、「シンタックスハイライト」
を参照してください。
markup:
highlight:
anchorLineNos: false
codeFences: true
guessSyntax: false
hl_Lines: ""
hl_inline: false
lineAnchors: ""
lineNoStart: 1
lineNos: false
lineNumbersInTable: true
noClasses: true
noHl: false
style: monokai
tabWidth: 4
[markup]
[markup.highlight]
anchorLineNos = false
codeFences = true
guessSyntax = false
hl_Lines = ''
hl_inline = false
lineAnchors = ''
lineNoStart = 1
lineNos = false
lineNumbersInTable = true
noClasses = true
noHl = false
style = 'monokai'
tabWidth = 4
{
"markup": {
"highlight": {
"anchorLineNos": false,
"codeFences": true,
"guessSyntax": false,
"hl_Lines": "",
"hl_inline": false,
"lineAnchors": "",
"lineNoStart": 1,
"lineNos": false,
"lineNumbersInTable": true,
"noClasses": true,
"noHl": false,
"style": "monokai",
"tabWidth": 4
}
}
}
style
については、以下のギャラリーを参照してください。
CSS については、「シンタックスハイライト CSS の生成」
を参照してください。
目次
markup:
tableOfContents:
endLevel: 3
ordered: false
startLevel: 2
[markup]
[markup.tableOfContents]
endLevel = 3
ordered = false
startLevel = 2
{
"markup": {
"tableOfContents": {
"endLevel": 3,
"ordered": false,
"startLevel": 2
}
}
}
以下の設定は、Goldmark レンダラーでのみ機能します。
- startLevel
- 目次のレンダリングを開始する見出しレベル。値は 1 (
h1
) から始まります。
- endLevel
- 目次のレンダリングを停止するための見出しレベル (含む)。
- ordered
- 順序なしリストの代わりに順序付きリストを生成するかどうか。
Markdown レンダーフック
「Markdown レンダーフック」
を参照してください。