Hugo's Markup Languages: AsciiDoc, HTML, Markdown, Org-mode, Pandoc, & reStructuredText

An earlier version of this article was in Infinite Ink’s TGIH: Themeless & Gitless Introduction to Hugo in a section called “7.1 About Hugo’s markup languages.”

 

Page TOC

Markup languages known to Hugo

Hugo includes support for these markup languages:

File
Extension(s)
Markup LanguageBuilt-in
Helper
(Renderer)

.md
.mdown
.markdown

Blackfriday-flavored Markdown

✔️

.mmark

Mmark-flavored Markdown

✔️

.org

Org-mode

✔️

.htm
.html

HTML

✔️

.ad
.adoc
.asciidoc

AsciiDoc

.pdc
.pandoc

Pandoc
(Pandoc-flavored markdown
and more)

.rst

reStructuredText

To use one of the last three markup languages, you need to install an external helper app, for example asciidoc, asciidoctor, pandoc, or rst2html.

Hugo determines the markup language of a file in the content/ directory from:

  1. a markup parameter in the file’s front matter

  2. the file’s file extension

The first of these found wins.

If you want to use a markup key in the front matter, the possible values are bolded in the File Extension(s) column in the table above. In other words, any one of the following would work in YAML front matter (assuming that the corresponding helper app is either built in to Hugo, or is installed on your platform and is on your path).

markup: markdown
markup: mmark
markup: org
markup: html
markup: asciidoc
markup: pandoc
markup: rst

To learn more about Hugo’s support for markup languages, see gohugo.io’s Supported Content Formats.

Another option: R Markdown & more Pandoc features via Blogdown

If you install…

you can create R Markdown (.Rmd) files that are rendered to HTML with rmarkdown, bookdown, and pandoc.   hugo, along with blogdown, builds your site using these rendered HTML files.

For more about this, see: