Fix RSS with baseURL with sub dir when render hooks is enabled

Fixes #13332
This commit is contained in:
Bjørn Erik Pedersen
2025-02-02 18:49:04 +01:00
parent 3bd73d262d
commit 760c13a7ac
3 changed files with 69 additions and 2 deletions

View File

@@ -96,3 +96,51 @@ Figure:
b.AssertFileContent("public/index.xml", "img src="http://example.com/images/sunset.jpg")
}
// Issue 13332.
func TestRSSCanonifyURLsSubDir(t *testing.T) {
t.Parallel()
files := `
-- hugo.toml --
baseURL = 'https://example.org/subdir'
disableKinds = ['section','sitemap','taxonomy','term']
[markup.goldmark.renderHooks.image]
enableDefault = true
[markup.goldmark.renderHooks.link]
enableDefault = true
-- layouts/_default/_markup/render-image.html --
{{- $u := urls.Parse .Destination -}}
{{- $src := $u.String | relURL -}}
<img srcset="{{ $src }}" src="{{ $src }} 2x">
<img src="{{ $src }}">
{{- /**/ -}}
-- layouts/_default/home.html --
{{ .Content }}|
-- layouts/_default/single.html --
{{ .Content }}|
-- layouts/_default/rss.xml --
{{ with site.GetPage "/s1/p2" }}
{{ .Content | transform.XMLEscape | safeHTML }}
{{ end }}
-- content/s1/p1.md --
---
title: p1
---
-- content/s1/p2/index.md --
---
title: p2
---
![alt](a.jpg)
[p1](/s1/p1)
-- content/s1/p2/a.jpg --
`
b := Test(t, files)
b.AssertFileContent("public/index.xml", "https://example.org/subdir/s1/p1/")
b.AssertFileContent("public/index.xml",
"img src=&#34;https://example.org/subdir/a.jpg",
"img srcset=&#34;https://example.org/subdir/a.jpg&#34; src=&#34;https://example.org/subdir/a.jpg 2x")
}