Now CommonMark Compliant! | Hugo (0.60.0 release)

Featured Image for Now CommonMark Compliant!

Goldmark by @yuin is now the new default library used for Markdown in Hugo. It’s CommonMark compliant and GitHub flavored, and both fast and flexible. Blackfriday, the old default, has served us well, but there have been formatting and portability issues that were hard to work around. The “CommonMark compliant” part is the main selling feature of Goldmark, but with that you also get attribute syntax on headers and code blocks (for code blocks you can turn on/off line numbers and highlight line ranges), strikethrough support and an improved and configurable implementation of TableOfContents . See Markup Configuration for an overview of extensions.

Please read the Notes Section and the updated documentation. We suggest you start with List of content formats in Hugo. Goldmark is better, but the feature set is not fully comparable and it may be more stricter in some areas (there are 17 rules for how a headline should look like); if you have any problems you cannot work around, see Configure Markup for a way to change the default Markdown handler.

Also, if you have lots of inline HTML in your Markdown files, you may have to enable the unsafe mode:


      unsafe: true

This release represents 62 contributions by 10 contributors to the main Hugo code base. @bep leads the Hugo development with a significant amount of contributions, but also a big shoutout to @anthonyfok, @max-arnold, and @trimbo for their ongoing contributions. And a big thanks to @digitalcraftsman and @onedrawingperday for their relentless work on keeping the themes site in pristine condition and to @kaushalmodi and @davidsneighbour for great work on the documentation site.

Many have also been busy writing and fixing the documentation in hugoDocs, which has received 8 contributions by 4 contributors . A special thanks to @bep, @jasdeepgill, @luucamay, and @jkreft-usgs for their work on the documentation site.

Hugo now has:


  • Permalink config now supports Go date format strings. #6489
  • We have removed the option to use Pygments as a highlighter. #4491
  • Config option for code highlighting of code fences in Markdown is now default on. This is what most people wants.
  • There are some differences in the feature set of Goldmark and Blackfriday. See the documentation for details.
  • The highlight shortcode/template func and the code fence attributes now share the same API regarding line numbers and highlight ranges.
  • The Total in ... for the hugo command now includes the configuration and modules loading, which should make it more honest/accurate.
  • The image logic in the 3 SEO internal templates twitter_cards.html, opengraph.html, and schema.html is consolidated: images page param first, then bundled image matching *feature* , *cover* or *thumbnail* , then finally images site param.
  • Deprecate mmark 33d73330 @bep #6486










The change to Goldmark is a big deal, obviously. I wonder if it will change anything for my projects; I don’t think I did anything very fancy. Looking forward to tweaking the code element settings, though! :slight_smile: