mirror of
https://github.com/gohugoio/hugo.git
synced 2024-12-23 00:33:00 +00:00
Fix site.GetPage, never do short lookups for paths with leadig slash
Fixes #12638
This commit is contained in:
parent
82af94d1f5
commit
8cf96f244a
2 changed files with 30 additions and 8 deletions
|
@ -110,11 +110,6 @@ func (c *pageFinder) getPageForRefs(ref ...string) (page.Page, error) {
|
|||
key = refs[1]
|
||||
}
|
||||
|
||||
key = filepath.ToSlash(key)
|
||||
if !strings.HasPrefix(key, "/") {
|
||||
key = "/" + key
|
||||
}
|
||||
|
||||
return c.getPage(nil, key)
|
||||
}
|
||||
|
||||
|
@ -211,9 +206,7 @@ func (c *pageFinder) getContentNodeForRef(context page.Page, isReflink, hadExten
|
|||
var doSimpleLookup bool
|
||||
if isReflink || context == nil {
|
||||
slashCount := strings.Count(inRef, "/")
|
||||
if slashCount <= 1 {
|
||||
doSimpleLookup = slashCount == 0 || ref[0] == '/'
|
||||
}
|
||||
doSimpleLookup = slashCount == 0
|
||||
}
|
||||
|
||||
if !doSimpleLookup {
|
||||
|
|
|
@ -413,6 +413,35 @@ layout: p2
|
|||
b.AssertFileContent("public/s1/p2/index.html", "p1")
|
||||
}
|
||||
|
||||
func TestGetPageNewsVsTagsNewsIssue12638(t *testing.T) {
|
||||
t.Parallel()
|
||||
|
||||
files := `
|
||||
-- hugo.toml --
|
||||
disableKinds = ['rss','section','sitemap']
|
||||
[taxonomies]
|
||||
tag = "tags"
|
||||
-- content/p1.md --
|
||||
---
|
||||
title: p1
|
||||
tags: [news]
|
||||
---
|
||||
-- layouts/index.html --
|
||||
/tags/news: {{ with .Site.GetPage "/tags/news" }}{{ .Title }}{{ end }}|
|
||||
news: {{ with .Site.GetPage "news" }}{{ .Title }}{{ end }}|
|
||||
/news: {{ with .Site.GetPage "/news" }}{{ .Title }}{{ end }}|
|
||||
|
||||
`
|
||||
|
||||
b := Test(t, files)
|
||||
|
||||
b.AssertFileContent("public/index.html",
|
||||
"/tags/news: News|",
|
||||
"news: News|",
|
||||
"/news: |",
|
||||
)
|
||||
}
|
||||
|
||||
func TestGetPageBundleToRegular(t *testing.T) {
|
||||
files := `
|
||||
-- hugo.toml --
|
||||
|
|
Loading…
Reference in a new issue