]> git.maquefel.me Git - brevno-suite/hugo/commitdiff
Fix assets vs data issue
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Wed, 28 Feb 2024 16:58:27 +0000 (17:58 +0100)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Wed, 28 Feb 2024 18:26:55 +0000 (19:26 +0100)
And possibly some other related file mount issues.

Fixes #12133

hugofs/rootmapping_fs.go
hugolib/datafiles_test.go

index 04c5b4a7268d7ed0f266fa9b28b53785f0827f90..a5bf9aadfe8704f8978b65f97f05446ab153623a 100644 (file)
@@ -43,7 +43,6 @@ var _ ReverseLookupProvder = (*RootMappingFs)(nil)
 func NewRootMappingFs(fs afero.Fs, rms ...RootMapping) (*RootMappingFs, error) {
        rootMapToReal := radix.New()
        realMapToRoot := radix.New()
-       var virtualRoots []RootMapping
 
        addMapping := func(key string, rm RootMapping, to *radix.Tree) {
                var mappings []RootMapping
@@ -154,11 +153,8 @@ func NewRootMappingFs(fs afero.Fs, rms ...RootMapping) (*RootMappingFs, error) {
 
                addMapping(rev, rm, realMapToRoot)
 
-               virtualRoots = append(virtualRoots, rm)
        }
 
-       rootMapToReal.Insert(filepathSeparator, virtualRoots)
-
        rfs := &RootMappingFs{
                Fs:            fs,
                rootMapToReal: rootMapToReal,
@@ -414,6 +410,7 @@ func (fs *RootMappingFs) getRoots(key string) (string, []RootMapping) {
        for {
                var found bool
                ss, vv, found := tree.LongestPrefix(key)
+
                if !found || (levels < 2 && ss == key) {
                        break
                }
index 99cc5b407d69cf1b15e9470e6c1e695e973fa033..657e6020cf1d479a5f44609a5b135d560de37f60 100644 (file)
@@ -64,3 +64,21 @@ v1: {{  site.Data.MyFolder.MyData.v1 }}|
 
        b.AssertFileContent("public/index.html", "v1: my_v1|")
 }
+
+// Issue #12133
+func TestDataNoAssets(t *testing.T) {
+       t.Parallel()
+
+       files := `
+-- hugo.toml --
+disableKinds = ['page','rss','section','sitemap','taxonomy','term']
+-- assets/data/foo.toml --
+content = "I am assets/data/foo.toml"
+-- layouts/index.html --
+|{{ site.Data.foo.content }}|
+       `
+
+       b := Test(t, files)
+
+       b.AssertFileContent("public/index.html", "||")
+}