hugo/content/en/news/0.45-relnotes/index.md
Bjørn Erik Pedersen 766085c2dc Squashed 'docs/' changes from a4fa0d1d6..81847981f
81847981f Add notes for installing "extended" Sass/SCSS version
02da3bb58 Include usage of disqus internal template
9b53380c4 Update sitemap-template.md
f3417dd52 Update sitemap-template.md
aae33d9a8 Update sitemap-template.md
834edc205 Release 0.45.1
fb93ab905 Merge branch 'temp451'
79f350906 releaser: Prepare repository for 0.46-DEV
25cd2352c releaser: Add release notes to /docs for release of 0.45.1
e60377c71 releaser: Bump versions for release of 0.45.1
873f6dce2 Update features.md
ecc116642 Update link for Azure
cb88c3185 Added .Site.Home to Site Variiables (#541)
975a88791 Document includePaths
56c4e332f Release Hugo 0.45
c22b25210 Merge branch 'temp45'
0ffad3ada releaser: Prepare repository for 0.46-DEV
08d494cc3 releaser: Add release notes to /docs for release of 0.45
ad546ba45 releaser: Bump versions for release of 0.45
971c46bb2 Fixed "Sratch" to become "Scratch" on line 44
a28255bf3 Clarify the meaning of .Pages vs .Site.Pages
127aeee09 docs: Update ref, relref, GetPage docs
350d674ec resources.Concat doesn't have an alias
1fd1219b0 docs: Document refLinksErrorLevel and refLinksNotFoundURL
af2252ff6 Merge commit 'a3535c8486b2ce762b1a8a9c30b03985c3e02cee'
a11486805 Merge commit 'b6b37a1f00f808f3c0d2715f65ca2d3091f36495'
1c8896cb1 Fix addkit link to account for i18n
468aef3fc releaser: Prepare repository for 0.45-DEV
c6f4b97a2 releaser: Add release notes to /docs for release of 0.44
d3985afb7 releaser: Bump versions for release of 0.44
2c59a330c Adjust release notes
83966769a releaser: Prepare repository for 0.44-DEV
e539613f7 releaser: Add release notes to /docs for release of 0.43
2bf648944 releaser: Bump versions for release of 0.43
d9d6e4bf7 Fix typos
d6798afda Merge commit '98293eaa1570b5aff4452021c8b6d6c8560b3f06'
37cc52261 Add a newScratch template func
1f7f09613 Merge branch 'release-0.42.2'
857b0b26a releaser: Prepare repository for 0.43-DEV

git-subtree-dir: docs
git-subtree-split: 81847981f1f2cb1ebc83d42d275a2afb2bb22df1
2018-08-01 10:01:05 +02:00

9.8 KiB


date: 2018-07-22 title: "Hugo 0.45: Revival of ref, relref and GetPage" description: "Hugo 0.45 adds relative page lookups, language support in ref/relref and several Hugo Pipes improvements." categories: ["Releases"]

Hugo 0.45 is the revival of ref, relref and GetPage. @vassudanagunta and @bep have done some great work improving the API and implementation for the helper functions used to get one page. Before this release, the API was a little bit clumsy and the result potentially ambiguous in some situations.

Now you can simply do:

{{ with .Site.GetPage "/blog/my-post.md" }}{{ .Title }}{{ end }}

Or to get a section page:

{{ with .Site.GetPage "/blog" }}{{ .Title }}{{ end }}

We have also added a .GetPage method on Page and added support for page-relative linking. This means that the leading slash (/) now has a meaning. For .Site.GetPage, all lookups will start at the content root. But for lookups with a Page context, paths without a leading slash will be treated as relative to the page.

This means that the following example will find the page in the current section:

{{</* ref "my-post.md" */>}}

You can also use the .. to refer to a page one level up etc.:

{{</* ref "../my-post.md" */>}}

We have now also added language support to ref and relref, so you can link to a page in another language:

{{</* relref path="document.md" lang="jp" */>}}

To link to a given Output Format of a document, you can use this syntax:

{{</* relref path="document.md" outputFormat="rss" */>}}

To make working with these reflinks on bigger sites easier to work with, we have also improved the error logging, and added two new configuration settings:

  • refLinksErrorLevel: ERROR (default, will fail the build when a reflink cannot be resolved) or WARNING.
  • refLinksNotFoundURL: Set this to an URL placeholder used when no reference could be resolved.

Visit the Hugo Docs for more information.

We have also done some important improvements and fixes in Hugo Pipes in this release: SCSS source maps on Windows now works, we now support project-local PostCSS installation, and we have added IncludePaths to SCSS options, making it possible to include, say, a path below node_modules in the SASS/SCSS build.

This release represents 31 contributions by 4 contributors to the main Hugo code base. @bep leads the Hugo development with a significant amount of contributions, but also a big shoutout to @vassudanagunta, @hairmare, and @garrmcnu for their ongoing contributions. And a big thanks to @digitalcraftsman for his relentless work on keeping the themes site in pristine condition and to @kaushalmodi for his great work on the documentation site.

Many have also been busy writing and fixing the documentation in hugoDocs, which has received 10 contributions by 8 contributors. A special thanks to @kaushalmodi, @Hanzei, @KurtTrowbridge, and @regisphilibert for their work on the documentation site.

Hugo now has:

Notes

  • .Site.GetPage with more than 2 arguments will not work anymore. This means that {{ .Site.GetPage "page" "blog" "my-post.md" }} will fail. {{ .Site.GetPage "page" "blog/my-post.md" }} will work, but we recommend you use the simpler {{ .Site.GetPage "/blog/my-post.md" }}
  • Relative paths in relref or ref that finds its match not relative to the page itself will work, but we now print a warning saying that you should correct it to an absolute path. E.g. {{</* ref "blog/my-post.md" */>}} => {{</* ref "/blog/my-post.md" */>}}.

Enhancements

Fixes