内容格式
简介
您可以在整个站点中混合使用各种内容格式。例如:
content/
└── posts/
├── post-1.md
├── post-2.adoc
├── post-3.org
├── post-4.pandoc
├── post-5.rst
└── post-6.html
无论内容格式如何,所有内容都必须包含 前置 matter ,最好同时包含 title
和 date
。
Hugo 根据前置 matter 中的 markup
标识符选择内容渲染器,如果找不到则回退到文件扩展名。请参见下面的 分类 表,了解标记标识符和识别文件扩展名的列表。
格式
Markdown
使用 Markdown 创建您的内容,前面加上前置 matter。
Markdown 是 Hugo 的默认内容格式。Hugo 使用 Goldmark 将 Markdown 本地渲染为 HTML。Goldmark 速度很快,并符合 CommonMark 和 GitHub Flavored Markdown 规范。您可以在站点配置中 配置 Goldmark 。
Hugo 提供自定义 Markdown 功能,包括:
- 属性
- 将
class
和id
等 HTML 属性应用于 Markdown 图片和块元素,包括块引用、围栏代码块、标题、水平线、列表、段落和表格。 - 扩展
- 利用嵌入式 Markdown 扩展创建表格、定义列表、脚注、任务列表、插入文本、标记文本、下标、上标等等。
- 数学公式
- 使用 LaTeX 或 TeX 排版语法在 Markdown 中包含数学方程式和表达式。
- 渲染钩子
- 在渲染围栏代码块、标题、图像和链接时覆盖 Markdown 到 HTML 的转换。例如,将每个独立图像渲染为 HTML
figure
元素。
HTML
使用 HTML 创建您的内容,前面加上前置 matter。内容通常是您放在 HTML 文档的 body
或 main
元素中的内容。
Emacs Org 模式
使用 Emacs Org 模式 格式创建您的内容,前面加上前置 matter。您可以使用 Org 模式关键字作为前置 matter。参见 详情 。
AsciiDoc
使用 AsciiDoc 格式创建您的内容,前面加上前置 matter。Hugo 使用 Asciidoctor 可执行文件将 AsciiDoc 内容渲染为 HTML。您必须安装 Asciidoctor 及其依赖项 (Ruby) 才能使用 AsciiDoc 内容格式。
您可以在站点配置中 配置 AsciiDoc 渲染器 。
在其默认配置中,Hugo 在调用 Asciidoctor 可执行文件时传递以下 CLI 标志:
--no-header-footer
传递给 Asciidoctor 可执行文件的 CLI 标志取决于配置。您可以在构建站点时检查这些标志:
hugo --logLevel info
Pandoc
使用 Pandoc 格式创建您的内容,前面加上前置 matter。Hugo 使用 Pandoc 可执行文件将 Pandoc 内容渲染为 HTML。您必须安装 Pandoc 才能使用 Pandoc 内容格式。
Hugo 在调用 Pandoc 可执行文件时传递以下 CLI 标志:
--mathjax
reStructuredText
使用 reStructuredText 格式创建您的内容,前面加上前置 matter。Hugo 使用 Docutils (特别是 rst2html)将 reStructuredText 内容渲染为 HTML。您必须安装 Docutils 及其依赖项 (Python) 才能使用 reStructuredText 内容格式。
Hugo 在调用 rst2html 可执行文件时传递以下 CLI 标志:
--leave-comments --initial-header-level=2
分类
内容格式 | 媒体类型 | 标识符 | 文件扩展名 |
---|---|---|---|
Markdown | text/markdown |
markdown |
markdown , md , mdown |
HTML | text/html |
html |
htm , html |
Emacs Org 模式 | text/org |
org |
org |
AsciiDoc | text/asciidoc |
asciidoc |
ad , adoc , asciidoc |
Pandoc | text/pandoc |
pandoc |
pandoc , pdc |
reStructuredText | text/rst |
rst |
rst |
在将内容转换为 HTML 时,Hugo 使用:
- Markdown、HTML 和 Emacs Org 模式的原生渲染器
- AsciiDoc、Pandoc 和 reStructuredText 的外部渲染器
原生渲染器比外部渲染器速度更快。