diff options
-rw-r--r-- | hugolib/page_test.go | 2 | ||||
-rw-r--r-- | tpl/tplimpl/embedded/templates/shortcodes/figure.html | 61 |
2 files changed, 36 insertions, 27 deletions
diff --git a/hugolib/page_test.go b/hugolib/page_test.go index b6236ca5f..b0ab7f09c 100644 --- a/hugolib/page_test.go +++ b/hugolib/page_test.go @@ -709,7 +709,7 @@ func TestPageWithShortCodeInSummary(t *testing.T) { assertFunc := func(t *testing.T, ext string, pages page.Pages) { p := pages[0] checkPageTitle(t, p, "Simple") - checkPageContent(t, p, normalizeExpected(ext, "<p>Summary Next Line. <figure><img src=\"/not/real\"/> </figure> . More text here.</p><p>Some more text</p>")) + checkPageContent(t, p, normalizeExpected(ext, "<p>Summary Next Line. <figure><img src=\"/not/real\"> </figure> . More text here.</p><p>Some more text</p>")) checkPageSummary(t, p, "Summary Next Line. . More text here. Some more text") checkPageType(t, p, "page") } diff --git a/tpl/tplimpl/embedded/templates/shortcodes/figure.html b/tpl/tplimpl/embedded/templates/shortcodes/figure.html index afe784c19..a0b93a437 100644 --- a/tpl/tplimpl/embedded/templates/shortcodes/figure.html +++ b/tpl/tplimpl/embedded/templates/shortcodes/figure.html @@ -1,29 +1,38 @@ <figure{{ with .Get "class" }} class="{{ . }}"{{ end }}> - {{- if .Get "link" -}} - <a href="{{ .Get "link" }}"{{ with .Get "target" }} target="{{ . }}"{{ end }}{{ with .Get "rel" }} rel="{{ . }}"{{ end }}> + {{- if .Get "link" -}} + <a href="{{ .Get "link" }}"{{ with .Get "target" }} target="{{ . }}"{{ end }}{{ with .Get "rel" }} rel="{{ . }}"{{ end }}> + {{- end -}} + + {{- $u := urls.Parse (.Get "src") -}} + {{- $src := $u.String -}} + {{- if not $u.IsAbs -}} + {{- with or (.Page.Resources.Get $u.Path) (resources.Get $u.Path) -}} + {{- $src = .RelPermalink -}} {{- end -}} - <img src="{{ .Get "src" }}" - {{- if or (.Get "alt") (.Get "caption") }} - alt="{{ with .Get "alt" }}{{ . }}{{ else }}{{ .Get "caption" | markdownify| plainify }}{{ end }}" - {{- end -}} - {{- with .Get "width" }} width="{{ . }}"{{ end -}} - {{- with .Get "height" }} height="{{ . }}"{{ end -}} - {{- with .Get "loading" }} loading="{{ . }}"{{ end -}} - /><!-- Closing img tag --> - {{- if .Get "link" }}</a>{{ end -}} - {{- if or (or (.Get "title") (.Get "caption")) (.Get "attr") -}} - <figcaption> - {{ with (.Get "title") -}} - <h4>{{ . }}</h4> - {{- end -}} - {{- if or (.Get "caption") (.Get "attr") -}}<p> - {{- .Get "caption" | markdownify -}} - {{- with .Get "attrlink" }} - <a href="{{ . }}"> - {{- end -}} - {{- .Get "attr" | markdownify -}} - {{- if .Get "attrlink" }}</a>{{ end }}</p> - {{- end }} - </figcaption> - {{- end }} + {{- end -}} + + <img src="{{ $src }}" + {{- if or (.Get "alt") (.Get "caption") }} + alt="{{ with .Get "alt" }}{{ . }}{{ else }}{{ .Get "caption" | markdownify| plainify }}{{ end }}" + {{- end -}} + {{- with .Get "width" }} width="{{ . }}"{{ end -}} + {{- with .Get "height" }} height="{{ . }}"{{ end -}} + {{- with .Get "loading" }} loading="{{ . }}"{{ end -}} + ><!-- Closing img tag --> + {{- if .Get "link" }}</a>{{ end -}} + {{- if or (or (.Get "title") (.Get "caption")) (.Get "attr") -}} + <figcaption> + {{ with (.Get "title") -}} + <h4>{{ . }}</h4> + {{- end -}} + {{- if or (.Get "caption") (.Get "attr") -}}<p> + {{- .Get "caption" | markdownify -}} + {{- with .Get "attrlink" }} + <a href="{{ . }}"> + {{- end -}} + {{- .Get "attr" | markdownify -}} + {{- if .Get "attrlink" }}</a>{{ end }}</p> + {{- end }} + </figcaption> + {{- end }} </figure> |