Skip to content

Commit

Permalink
Fix relref regression with trailing slash
Browse files Browse the repository at this point in the history
Fixes #12096
  • Loading branch information
bep committed Feb 21, 2024
1 parent 6da1d8f commit fd0185a
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 1 deletion.
3 changes: 2 additions & 1 deletion hugolib/pagecollections.go
Expand Up @@ -56,7 +56,7 @@ func (c *pageFinder) getPageRef(context page.Page, ref string) (page.Page, error
}

func (c *pageFinder) getPage(context page.Page, ref string) (page.Page, error) {
n, err := c.getContentNode(context, false, paths.ToSlashTrimTrailing(ref))
n, err := c.getContentNode(context, false, ref)
if err != nil {
return nil, err
}
Expand Down Expand Up @@ -121,6 +121,7 @@ func (c *pageFinder) getPageForRefs(ref ...string) (page.Page, error) {
const defaultContentExt = ".md"

func (c *pageFinder) getContentNode(context page.Page, isReflink bool, ref string) (contentNodeI, error) {
ref = paths.ToSlashTrimTrailing(ref)
inRef := ref
if ref == "" {
ref = "/"
Expand Down
22 changes: 22 additions & 0 deletions hugolib/site_test.go
Expand Up @@ -992,6 +992,28 @@ func TestRefLinking(t *testing.T) {
// TODO: and then the failure cases.
}

func TestRelRefWithTrailingSlash(t *testing.T) {
files := `
-- hugo.toml --
-- content/docs/5.3/examples/_index.md --
---
title: "Examples"
---
-- content/_index.md --
---
title: "Home"
---
Examples: {{< relref "/docs/5.3/examples/" >}}
-- layouts/home.html --
Content: {{ .Content }}|
`

b := Test(t, files)

b.AssertFileContent("public/index.html", "Examples: /docs/5.3/examples/")
}

func checkLinkCase(site *Site, link string, currentPage page.Page, relative bool, outputFormat string, expected string, t *testing.T, i int) {
t.Helper()
if out, err := site.refLink(link, currentPage, relative, outputFormat); err != nil || out != expected {
Expand Down

0 comments on commit fd0185a

Please sign in to comment.