Skip to content

Releases: gohugoio/hugo

v0.135.0

27 Sep 13:33
@bep bep
Compare
Choose a tag to compare

This is a small release, the main motivation was to finally ... drum roll ... get a tagged Hugo Docker image published. Big thanks to @bmanth60 for the tip that solved this issue.

Improvements

Dependency Updates

Build Setup

v0.134.3

19 Sep 14:54
@bep bep
Compare
Choose a tag to compare

v0.134.2

10 Sep 12:14
@bep bep
Compare
Choose a tag to compare

What's Changed

v0.134.1

05 Sep 11:08
@bep bep
Compare
Choose a tag to compare

What's Changed

  • Fix stray end p tag in Obsidian callout titles 66a3a11 @bep #12828
  • Make ContentWithoutSummary return Content when summary is fetched from front matter 8f2eac0 @bep #12822

v0.134.0

03 Sep 10:19
@bep bep
Compare
Choose a tag to compare

Hugo v0.134.0 brings render hooks for tables, ContentWithoutSummary, scoped content render and Obsidian style callout alerts.

ContentWithoutSummary and scoped content render

This release finally brings a Page.ContentWithoutSummary method. This has been a long sought after method where the use case is obvious: render the summary with a more button that renders the ... content without summary. To enable this we have reimplemented the content summary handling in Hugo. This consolidates the 3 summary types (auto, manual and frontmatter) – they are now all HTML. This is a slightly breaking change (manual was plain text before), but the new behaviour should be much less confusing and easier to handle in the templates. If you want plain text, pipe it into plainify: {{ .Summary | plainify }}.

Before this release there was one instance of .Content for a given page, it was e.g. not possible to render a page's content slightly different (e.g. different heading levels) on the list pages or the home page. This release anables that with a new Page.Markup with an optional scope argument.

In the list template you would do something like this:

{{ range .Pages | first 5 }}
  {{ with .Markup "list" }}
     {{ with .Render }}
       <div>
           <li>{{ .Summary }}</li> 
           <li>{{ .ContentWithoutSummary }}</li> 
           <li>{{ .WordCount }}</li> 
           <li>etc ...</li> 
       </div>
     {{ end }}
  {{ end }}
{{ end }}

You can think of the custom scope list as a cache key: Multiple invocations on the same page with the same scope will give the same return value. You can now pass down some data or configuration to in .Page.Store to the templates that render this markup (shortcodes, render hooks), or you can use the new global hugo.Context.MarkupScope function made for this purpose:

{{ if eq hugo.Context.MarkupScope "list" }}
  {{/* Render some list markup. */}}
{{ else }}
  {{/* default */}}
{{ end }}

Render hooks for tables

This has been a long sought after feature. Now you can have full control over how you render your Markdown tables with table render hooks.

Obsidian style callout alerts

Hugo v0.133.0 added blockquote render hooks with GitHub styled alerts. We have since then gotten some feedback about extended alert syntax in Obsidian, and in Hugo v0.134.0 we now support both.

Bug fixes

Improvements

Dependency Updates

Documentation

v0.133.1

26 Aug 14:31
@bep bep
Compare
Choose a tag to compare

Bug fixes

v0.133.0

17 Aug 20:13
@bep bep
Compare
Choose a tag to compare

What's Changed

v0.132.2

14 Aug 16:32
@bep bep
Compare
Choose a tag to compare

What's Changed

v0.132.1

13 Aug 10:24
@bep bep
Compare
Choose a tag to compare

What's Changed

v0.132.0

12 Aug 15:39
@bep bep
Compare
Choose a tag to compare

Server-side math rendering using KaTeX with Markdown render hooks support, blockquote Markdown render hooks with GitHub style alerts syntax support, and more.

Bug fixes

Improvements

Dependency Updates

Documentation

Build Setup