diff options
author | Joe Mooring <[email protected]> | 2024-05-07 10:12:19 -0700 |
---|---|---|
committer | Bjørn Erik Pedersen <[email protected]> | 2024-05-10 22:32:48 +0200 |
commit | 6dfeb9f0388f5acae2c8f2e16d97987899a04d4e (patch) | |
tree | ffd892fe122b97490f4b5ff9c67ebaf9f5d85a62 | |
parent | ca9a77ef92eb0cb7bb5193e4e3afa4abb26d577c (diff) | |
download | hugo-6dfeb9f0388f5acae2c8f2e16d97987899a04d4e.tar.gz hugo-6dfeb9f0388f5acae2c8f2e16d97987899a04d4e.zip |
tpl/tplimpl: Retain query string and fragment in render-image.html
Closes #12468
-rw-r--r-- | tpl/tplimpl/embedded/templates/_default/_markup/render-image.html | 6 | ||||
-rw-r--r-- | tpl/tplimpl/render_hook_integration_test.go | 18 |
2 files changed, 17 insertions, 7 deletions
diff --git a/tpl/tplimpl/embedded/templates/_default/_markup/render-image.html b/tpl/tplimpl/embedded/templates/_default/_markup/render-image.html index 875763910..31437cdd4 100644 --- a/tpl/tplimpl/embedded/templates/_default/_markup/render-image.html +++ b/tpl/tplimpl/embedded/templates/_default/_markup/render-image.html @@ -3,6 +3,12 @@ {{- if not $u.IsAbs -}} {{- with or (.PageInner.Resources.Get $u.Path) (resources.Get $u.Path) -}} {{- $src = .RelPermalink -}} + {{- with $u.RawQuery -}} + {{- $src = printf "%s?%s" $src . -}} + {{- end -}} + {{- with $u.Fragment -}} + {{- $src = printf "%s#%s" $src . -}} + {{- end -}} {{- end -}} {{- end -}} {{- $attributes := merge .Attributes (dict "alt" .Text "src" $src "title" (.Title | transform.HTMLEscape)) -}} diff --git a/tpl/tplimpl/render_hook_integration_test.go b/tpl/tplimpl/render_hook_integration_test.go index 07c24108d..f6cb5bf6b 100644 --- a/tpl/tplimpl/render_hook_integration_test.go +++ b/tpl/tplimpl/render_hook_integration_test.go @@ -130,30 +130,34 @@ title: s1/p3 } // Issue 12203 -func TestEmbeddedImageRenderHookMarkdownAttributes(t *testing.T) { +// Issue 12468 +func TestEmbeddedImageRenderHook(t *testing.T) { t.Parallel() files := ` -- config.toml -- -disableKinds = ['page','rss','section','sitemap','taxonomy','term'] +baseURL = 'https://example.org/dir/' +disableKinds = ['home','rss','section','sitemap','taxonomy','term'] [markup.goldmark.parser] wrapStandAloneImageWithinParagraph = false [markup.goldmark.parser.attribute] block = false [markup.goldmark.renderHooks.image] enableDefault = true --- content/_index.md -- -![alt](a.jpg) +-- content/p1/index.md -- +![alt](pixel.png?a=b&c=d#fragment) {.foo #bar} --- layouts/index.html -- +-- content/p1/pixel.png -- +iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNkYPhfDwAChwGA60e6kgAAAABJRU5ErkJggg== +-- layouts/_default/single.html -- {{ .Content }} ` b := hugolib.Test(t, files) - b.AssertFileContent("public/index.html", `<img alt="alt" src="a.jpg">`) + b.AssertFileContent("public/p1/index.html", `<img alt="alt" src="/dir/p1/pixel.png?a=b&c=d#fragment">`) files = strings.Replace(files, "block = false", "block = true", -1) b = hugolib.Test(t, files) - b.AssertFileContent("public/index.html", `<img alt="alt" class="foo" id="bar" src="a.jpg">`) + b.AssertFileContent("public/p1/index.html", `<img alt="alt" class="foo" id="bar" src="/dir/p1/pixel.png?a=b&c=d#fragment">`) } |