Fix relref regression with trailing slash - hugo - [fork] hugo port for 9front
 (HTM) git clone git@git.drkhsh.at/hugo.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) Submodules
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit fd0185a84a677c836fbe4defec040b77e6deea49
 (DIR) parent 6da1d8f370624b1a3640076b1e60380b0d8b2f92
 (HTM) Author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
       Date:   Wed, 21 Feb 2024 15:42:00 +0100
       
       Fix relref regression with trailing slash
       
       Fixes #12096
       
       Diffstat:
         M hugolib/pagecollections.go          |       3 ++-
         M hugolib/site_test.go                |      22 ++++++++++++++++++++++
       
       2 files changed, 24 insertions(+), 1 deletion(-)
       ---
 (DIR) diff --git a/hugolib/pagecollections.go b/hugolib/pagecollections.go
       @@ -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
                }
       @@ -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 = "/"
 (DIR) diff --git a/hugolib/site_test.go b/hugolib/site_test.go
       @@ -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 {