Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/gohugoio/hugo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2018-01-23 16:02:54 +0300
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>2018-01-24 11:00:21 +0300
commit0432c64dd22e4610302162678bb93661ba68d758 (patch)
tree7eb5e0bc4a9f4d6e48c00b7001a4e77a21c324f2 /hugolib/hugo_sites_build.go
parent5a0819b9b5eb9e79826cfa0a65f235d9821b1ac4 (diff)
Add headless bundle support
This commit adds support for `headless bundles` for the `index` bundle type. So: ```toml headless = true ``` In front matter means that * It will have no `Permalink` and no rendered HTML in /public * It will not be part of `.Site.RegularPages` etc. But you can get it by: * `.Site.GetPage ...` The use cases are many: * Shared media galleries * Reusable page content "snippets" * ... Fixes #4311
Diffstat (limited to 'hugolib/hugo_sites_build.go')
-rw-r--r--hugolib/hugo_sites_build.go29
1 files changed, 18 insertions, 11 deletions
diff --git a/hugolib/hugo_sites_build.go b/hugolib/hugo_sites_build.go
index b2b394eb5..8f03f589f 100644
--- a/hugolib/hugo_sites_build.go
+++ b/hugolib/hugo_sites_build.go
@@ -179,19 +179,26 @@ func (h *HugoSites) assemble(config *BuildCfg) error {
}
for _, s := range h.Sites {
- for _, p := range s.Pages {
- // May have been set in front matter
- if len(p.outputFormats) == 0 {
- p.outputFormats = s.outputFormats[p.Kind]
- }
- for _, r := range p.Resources.ByType(pageResourceType) {
- r.(*Page).outputFormats = p.outputFormats
- }
+ for _, pages := range []Pages{s.Pages, s.headlessPages} {
+ for _, p := range pages {
+ // May have been set in front matter
+ if len(p.outputFormats) == 0 {
+ p.outputFormats = s.outputFormats[p.Kind]
+ }
- if err := p.initPaths(); err != nil {
- return err
- }
+ if p.headless {
+ // headless = 1 output format only
+ p.outputFormats = p.outputFormats[:1]
+ }
+ for _, r := range p.Resources.ByType(pageResourceType) {
+ r.(*Page).outputFormats = p.outputFormats
+ }
+ if err := p.initPaths(); err != nil {
+ return err
+ }
+
+ }
}
s.assembleMenus()
s.refreshPageCaches()