URI: 
       hugolib: Fix draft etc. handling of _index.md pages - hugo - [fork] hugo port for 9front
  HTML git clone git@git.drkhsh.at/hugo.git
   DIR Log
   DIR Files
   DIR Refs
   DIR Submodules
   DIR README
   DIR LICENSE
       ---
   DIR commit 6ccf50ea7bb291bcbe1d56a4d697a6fd57a9c629
   DIR parent 67524c993623871626f0f22e6a2ac705a816a959
  HTML Author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
       Date:   Thu, 15 Aug 2019 18:25:21 +0200
       
       hugolib: Fix draft etc. handling of _index.md pages
       
       We will need to revisit this with a proper spec, but this commit makes sure that draft/expiryDate etc. set in front matter on _index.md content files that should disable the page will:
       
       * Not crash
       * Make the rendered page not render any `.Content`.
       
       Fixes #6222
       Fixes #6210
       
       Diffstat:
         M hugolib/page__per_output.go         |       4 ++++
         M hugolib/taxonomy_test.go            |      30 ++++++++++++++++++++++++++++++
       
       2 files changed, 34 insertions(+), 0 deletions(-)
       ---
   DIR diff --git a/hugolib/page__per_output.go b/hugolib/page__per_output.go
       @@ -67,6 +67,10 @@ func newPageContentOutput(p *pageState) func(f output.Format) (*pageContentOutpu
                        }
        
                        initContent := func() (err error) {
       +                        if p.cmap == nil {
       +                                // Nothing to do.
       +                                return nil
       +                        }
                                defer func() {
                                        // See https://github.com/gohugoio/hugo/issues/6210
                                        if r := recover(); r != nil {
   DIR diff --git a/hugolib/taxonomy_test.go b/hugolib/taxonomy_test.go
       @@ -352,3 +352,33 @@ categories: ["regular"]
                b.Assert(dra, qt.IsNil)
        
        }
       +
       +// See https://github.com/gohugoio/hugo/issues/6222
       +// We need to revisit this once we figure out what to do with the
       +// draft etc _index pages, but for now we need to avoid the crash.
       +func TestTaxonomiesIndexDraft(t *testing.T) {
       +        t.Parallel()
       +
       +        b := newTestSitesBuilder(t)
       +        b.WithContent(
       +                "categories/_index.md", `---
       +title: "The Categories"
       +draft: true
       +---
       +
       +This is the invisible content.
       +
       +`)
       +
       +        b.WithTemplates("index.html", `
       +{{ range .Site.Pages }}
       +{{ .RelPermalink }}|{{ .Title }}|{{ .WordCount }}|{{ .Content }}|
       +{{ end }}
       +`)
       +
       +        b.Build(BuildCfg{})
       +
       +        // We publish the index page, but the content will be empty.
       +        b.AssertFileContent("public/index.html", " /categories/|The Categories|0||")
       +
       +}