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