Render Markdown in figure shortcode "caption" and "attr" params

Fixes https://github.com/gohugoio/hugo/issues/4406.
This commit is contained in:
Kaushal Modi 2018-10-02 15:23:10 -04:00 committed by Bjørn Erik Pedersen
parent c5279064df
commit 6818170308
3 changed files with 12 additions and 6 deletions

View file

@ -305,6 +305,12 @@ func TestFigureOnlySrc(t *testing.T) {
CheckShortCodeMatch(t, `{{< figure src="/found/here" >}}`, "<figure>\n <img src=\"/found/here\"/> \n</figure>", nil) CheckShortCodeMatch(t, `{{< figure src="/found/here" >}}`, "<figure>\n <img src=\"/found/here\"/> \n</figure>", nil)
} }
func TestFigureCaptionAttrWithMarkdown(t *testing.T) {
t.Parallel()
CheckShortCodeMatch(t, `{{< figure src="/found/here" caption="Something **bold** _italic_" >}}`, "<figure>\n <img src=\"/found/here\"\n alt=\"Something bold italic\"/> <figcaption>\n <p>Something <strong>bold</strong> <em>italic</em></p>\n </figcaption>\n</figure>", nil)
CheckShortCodeMatch(t, `{{< figure src="/found/here" attr="Something **bold** _italic_" >}}`, "<figure>\n <img src=\"/found/here\"/> <figcaption>\n <p>Something <strong>bold</strong> <em>italic</em></p>\n </figcaption>\n</figure>", nil)
}
func TestFigureImgWidth(t *testing.T) { func TestFigureImgWidth(t *testing.T) {
t.Parallel() t.Parallel()
CheckShortCodeMatch(t, `{{% figure src="/found/here" class="bananas orange" alt="apple" width="100px" %}}`, "<figure class=\"bananas orange\">\n <img src=\"/found/here\"\n alt=\"apple\" width=\"100px\"/> \n</figure>", nil) CheckShortCodeMatch(t, `{{% figure src="/found/here" class="bananas orange" alt="apple" width="100px" %}}`, "<figure class=\"bananas orange\">\n <img src=\"/found/here\"\n alt=\"apple\" width=\"100px\"/> \n</figure>", nil)

View file

@ -315,7 +315,7 @@ if (!doNotTrack) {
{{- end }} {{- end }}
<img src="{{ .Get "src" }}" <img src="{{ .Get "src" }}"
{{- if or (.Get "alt") (.Get "caption") }} {{- if or (.Get "alt") (.Get "caption") }}
alt="{{ with .Get "alt" }}{{ . }}{{ else }}{{ .Get "caption" }}{{ end }}" alt="{{ with .Get "alt" }}{{ . }}{{ else }}{{ .Get "caption" | markdownify| plainify }}{{ end }}"
{{- end -}} {{- end -}}
{{- with .Get "width" }} width="{{ . }}"{{ end -}} {{- with .Get "width" }} width="{{ . }}"{{ end -}}
{{- with .Get "height" }} height="{{ . }}"{{ end -}} {{- with .Get "height" }} height="{{ . }}"{{ end -}}
@ -327,11 +327,11 @@ if (!doNotTrack) {
<h4>{{ . }}</h4> <h4>{{ . }}</h4>
{{- end -}} {{- end -}}
{{- if or (.Get "caption") (.Get "attr") -}}<p> {{- if or (.Get "caption") (.Get "attr") -}}<p>
{{- .Get "caption" -}} {{- .Get "caption" | markdownify -}}
{{- with .Get "attrlink" -}} {{- with .Get "attrlink" -}}
<a href="{{ . }}"> <a href="{{ . }}">
{{- end -}} {{- end -}}
{{- .Get "attr" -}} {{- .Get "attr" | markdownify -}}
{{- if .Get "attrlink" }}</a>{{ end }}</p> {{- if .Get "attrlink" }}</a>{{ end }}</p>
{{- end }} {{- end }}
</figcaption> </figcaption>

View file

@ -4,7 +4,7 @@
{{- end }} {{- end }}
<img src="{{ .Get "src" }}" <img src="{{ .Get "src" }}"
{{- if or (.Get "alt") (.Get "caption") }} {{- if or (.Get "alt") (.Get "caption") }}
alt="{{ with .Get "alt" }}{{ . }}{{ else }}{{ .Get "caption" }}{{ end }}" alt="{{ with .Get "alt" }}{{ . }}{{ else }}{{ .Get "caption" | markdownify| plainify }}{{ end }}"
{{- end -}} {{- end -}}
{{- with .Get "width" }} width="{{ . }}"{{ end -}} {{- with .Get "width" }} width="{{ . }}"{{ end -}}
{{- with .Get "height" }} height="{{ . }}"{{ end -}} {{- with .Get "height" }} height="{{ . }}"{{ end -}}
@ -16,11 +16,11 @@
<h4>{{ . }}</h4> <h4>{{ . }}</h4>
{{- end -}} {{- end -}}
{{- if or (.Get "caption") (.Get "attr") -}}<p> {{- if or (.Get "caption") (.Get "attr") -}}<p>
{{- .Get "caption" -}} {{- .Get "caption" | markdownify -}}
{{- with .Get "attrlink" -}} {{- with .Get "attrlink" -}}
<a href="{{ . }}"> <a href="{{ . }}">
{{- end -}} {{- end -}}
{{- .Get "attr" -}} {{- .Get "attr" | markdownify -}}
{{- if .Get "attrlink" }}</a>{{ end }}</p> {{- if .Get "attrlink" }}</a>{{ end }}</p>
{{- end }} {{- end }}
</figcaption> </figcaption>