f59b3ab06 Fix typo in template lookup order 1e5536d6c Mutlilingual: Document "content directory per language" system (#509) 849a86048 Update index.md 0c24d229b Polish Hugo Next a4c9b0ee2 Polish bbec2c76e Some more in birthday post fc9681e21 More on contributors 09fe3ea31 Some more on the birthday post 8da357240 Content and images for the 5th birthday blog post fb45bb8dc Add draft for anniversary blog post 4666d0a18 Release 0.42.2 9b74d286a Merge branch 'temp422' 354e7b66b releaser: Add release notes to /docs for release of 0.42.2 57a617f34 releaser: Bump versions for release of 0.42.2 ccc3ac1b8 Update errorf.md 35706c21a Update errorf.md 1c0f35fd1 Update errorf.md b6170774b Add syntax highlighting gallery links for Chroma f91d9da47 Update usage.md c9a8f0190 Improve theme components documentation 3c4e39ddd Release 0.42.1 b45eb453f Merge branch 'temp421' c74682a10 releaser: Prepare repository for 0.43-DEV 321e07fa5 releaser: Add release notes to /docs for release of 0.42.1 7154271e0 releaser: Bump versions for release of 0.42.1 360d8244f Add link to Privacy Config 1f2454247 Fix typo a8f5f994e Fix typo d9f3f078c Update simple variants documentation (#500) f5cfd44e0 Release 0.42 fe604b321 releaser: Prepare repository for 0.43-DEV c3e5b3ca0 releaser: Add release notes to /docs for release of 0.42 3174d1b37 releaser: Bump versions for release of 0.42 48cc2d51f docs: Update theme documentation 1922fb1a6 docs: Remove some files now moved d7e4c453a Merge commit 'b239595af5a9fc1fc9a1ccc666c3ab06ccc32f04' c40964c1b tplimpl: Remove speakerdeck shortcode 081f8a0f9 tpl/strings: strings.RuneCount 828ea5f15 tpl: Add strings.Repeat a6b9f654a Add a BlackFriday option for rel="noreferrer" on external links edb786516 Add a BlackFriday option for rel="nofollow" on external links e4374971f releaser: Prepare repository for 0.42-DEV git-subtree-dir: docs git-subtree-split: f59b3ab06f282c26bce07263c8be6672cf8f7969
7.7 KiB
date: 2018-06-12 title: "Hugo 0.42: Theme Composition and Inheritance!" description: "Hugo 0.42 adds Theme Components support, a new and powerful way of composing your Hugo sites." categories: ["Releases"]
Hugo `0.42` adds **Theme Components**. This is a really powerful new way of building your Hugo sites with reusable components. This is both **Theme Composition** and **Theme Inheritance**.
Read more about Theme Components in the Hugo Documentation.
The feature above was implemented by @bep, the funny Norwegian, with great design help from the Hugo community. But that implementation would not have been possible without Afero, Steve Francia's virtual file system. Hugo is built on top of Afero and many other fast and solid Go projects, and if you look at the combined contribution log of the Hugo project and its many open source dependencies, the total amount of contributions is staggering. A big thank you to them all!
This release represents 27 contributions by 7 contributors to the main Hugo code base. @bep leads the Hugo development with a significant amount of contributions, but also a big shoutout to @onedrawingperday, @anthonyfok, and @stefanneuhaus 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 8 contributions by 5 contributors. A special thanks to @bep, @LorenzCK, @gavinwray, and @deyton for their work on the documentation site.
Hugo now has:
- 26286+ stars
- 444+ contributors
- 235+ themes
Notes
- The
speakerdeck
shortcode is removed. It didn't work properly, so is isn't expected to be in wide use. If you use it, you will get a build error. You will either have to remove its usage or add aspeakerdeck
shortcode to your own project or theme. - We have now virtualized the filesystems for project and theme files. This makes everything simpler, faster and more powerful. But it also means that template lookups on the form
{{ template “theme/partials/pagination.html” . }}
will not work anymore. That syntax has never been documented, so it's not expected to be in wide use.{{ partial "pagination.html" . }}
will give you the most specific version of that partial.
Enhancements
- Always load GA script over HTTPS 2e6712e2 @coliff
- Remove speakerdeck shortcode 65deb72d @onedrawingperday #4830
- Add
strings.RuneCount
019bd557 @theory - Add
strings.Repeat
13435a6f @theory - Reset Page's main output on server rebuilds dc4226a8 @bep #4819
- Create LICENSE rather than LICENSE.md in "new theme" ed4a345e @anthonyfok #4623
- Create
_default/baseof.html
in "new theme" 9717ac7d @anthonyfok #3576 - Add
tweet_simple
shortcode 07b96d16 @onedrawingperday - Make "new theme" feedback more intuitive 692ec008 @anthonyfok
- Move nextStepsText() to new_site.go d3dd74fd @anthonyfok
- Add support for theme composition and inheritance 80230f26 @bep #4460#4450
- Add vimeo_simple 8de53244 @onedrawingperday #4749
- Add a BlackFriday option for rel="noreferrer" on external links 20cbc2c7 @stefanneuhaus #4722
- Add a BlackFriday option for rel="nofollow" on external links 7a619264 @stefanneuhaus #4722
- Update Chroma b5b36e32 @bep #4779
- Enhance Page and Resource String() 4f0665f4 @vassudanagunta
- Update theme documentation c74b0f8f @bep #4460
Fixes
- Make sure that
.Site.Taxonomies
is always set on rebuilds 6464981a @bep #4838 - Reset the "distinct error logger" on rebuilds bf5f10fa @bep #4818
- Remove frameborder attr YT iframe + CSS fixes ceaff7ca @onedrawingperday
- Fix vimeo_simple thumb scaling b84389c5 @onedrawingperday
- Fix typo instagram_simple d68367cb @onedrawingperday
- Prevent isBaseTemplate() from matching "baseof" in dir c3115292 @anthonyfok #4809