]> git.maquefel.me Git - brevno-suite/hugo/commitdiff
Fix draft for non-default content when content in default language does not exist
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Wed, 28 Feb 2024 16:28:44 +0000 (17:28 +0100)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Wed, 28 Feb 2024 18:26:55 +0000 (19:26 +0100)
Fixes #12132

hugolib/content_map_page.go
hugolib/page__meta_test.go

index 1114428df0e5fe2a70a93653dfbe21c3da1dc52d..5388426c9a590c49d4a406036f975ad6cd03b4ab 100644 (file)
@@ -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)
@@ -1714,6 +1714,7 @@ func (sa *sitePagesAssembler) removeShouldNotBuild() error {
        if len(keys) == 0 {
                return nil
        }
+
        sa.pageMap.DeletePageAndResourcesBelow(keys...)
 
        return nil
index d4b66ed9a29e816aa572c579bd0db732edb2fb4a..58d29464d9a0431eae0c724f5afcbad290778d73 100644 (file)
 // 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
@@ -43,7 +41,7 @@ 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")
@@ -51,9 +49,34 @@ tags: '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)
+}