]> git.maquefel.me Git - brevno-suite/hugo/commitdiff
Fix menuItem.URL when pageRef is not set
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Fri, 2 Jun 2023 05:59:50 +0000 (07:59 +0200)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Fri, 2 Jun 2023 07:04:00 +0000 (09:04 +0200)
Fixes #11062

hugolib/menu_test.go
hugolib/site.go

index 751608246bbfd49781ad250ea6f984060d625a67..810b9fe2008842bd241e916563321aab346c30b1 100644 (file)
@@ -621,3 +621,35 @@ Menu Item: 0: <span>Home</span>|/|
 `)
 
 }
+
+// Issue #11062
+func TestMenusSubDirInBaseURL(t *testing.T) {
+       t.Parallel()
+
+       files := `
+-- hugo.toml --
+baseURL = "https://example.com/foo/"
+title = "Hugo Menu Test"
+[menus]
+[[menus.main]]
+name = "Posts"
+url = "/posts"
+weight = 1
+-- layouts/index.html --
+{{ range $i, $e := site.Menus.main }}
+Menu Item: {{ $i }}|{{ .URL }}|
+{{ end }}
+`
+
+       b := NewIntegrationTestBuilder(
+               IntegrationTestConfig{
+                       T:           t,
+                       TxtarString: files,
+               },
+       ).Build()
+
+       b.AssertFileContent("public/index.html", `
+Menu Item: 0|/foo/posts|
+`)
+
+}
index 19821e8b2eee3e5b681bbf7780d26cbc650cc70d..035f543ee2ce4489fa440b06db8406820c4f67f2 100644 (file)
@@ -789,8 +789,10 @@ func (s *Site) assembleMenus() {
                                                navigation.SetPageValues(me, p)
                                        }
                                }
+                       }
 
-                       } else {
+                       // If page is still nill, we must make sure that we have a URL that considers baseURL etc.
+                       if types.IsNil(me.Page) {
                                me.ConfiguredURL = s.createNodeMenuEntryURL(me.MenuConfig.URL)
                        }