Skip to content

Commit

Permalink
Fix draft for non-default content when content in default language do…
Browse files Browse the repository at this point in the history
…es not exist

Fixes #12132
  • Loading branch information
bep committed Feb 28, 2024
1 parent 1007bcd commit be1dbba
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 7 deletions.
5 changes: 3 additions & 2 deletions hugolib/content_map_page.go
Expand Up @@ -685,13 +685,13 @@ func (s *contentNodeShifter) Delete(n contentNodeI, dimension doctree.Dimension)
}
return wasDeleted, isEmpty
case *resourceSource:
if lidx > 0 {
if lidx != v.LangIndex() {
return false, false
}
resource.MarkStale(v)
return true, true
case *pageState:
if lidx > 0 {
if lidx != v.s.languagei {
return false, false
}
resource.MarkStale(v)
Expand Down Expand Up @@ -1714,6 +1714,7 @@ func (sa *sitePagesAssembler) removeShouldNotBuild() error {
if len(keys) == 0 {
return nil
}

sa.pageMap.DeletePageAndResourcesBelow(keys...)

return nil
Expand Down
33 changes: 28 additions & 5 deletions hugolib/page__meta_test.go
Expand Up @@ -11,13 +11,11 @@
// See the License for the specific language governing permissions and
// limitations under the License.

package hugolib_test
package hugolib

import (
"strings"
"testing"

"github.com/gohugoio/hugo/hugolib"
)

// Issue 9793
Expand All @@ -43,17 +41,42 @@ tags: 'tag-a'
{{ .Title }}
`

b := hugolib.Test(t, files)
b := Test(t, files)

b.AssertFileContent("public/section-1/index.html", "Section-1s")
b.AssertFileContent("public/tags/index.html", "Tags")
b.AssertFileContent("public/tags/tag-a/index.html", "Tag-A")

files = strings.Replace(files, "true", "false", -1)

b = hugolib.Test(t, files)
b = Test(t, files)

b.AssertFileContent("public/section-1/index.html", "section-1")
b.AssertFileContent("public/tags/index.html", "tags")
b.AssertFileContent("public/tags/tag-a/index.html", "tag-a")
}

func TestDraftNonDefaultContentLanguage(t *testing.T) {
t.Parallel()

files := `
-- hugo.toml --
defaultContentLanguage = "en"
[languages]
[languages.en]
weight = 1
[languages.nn]
weight = 2
-- content/p1.md --
-- content/p2.nn.md --
---
title: "p2"
draft: true
---
-- layouts/_default/single.html --
{{ .Title }}
`
b := Test(t, files)

b.AssertFileExists("public/nn/p2/index.html", false)
}

0 comments on commit be1dbba

Please sign in to comment.