<figure {{- with .Get "class" }} class="{{ . }}" {{ end }}{{ with .Get "id" }} id="{{ . }}" {{ end }}>
  {{- if .Get "link" -}}
  <a href="{{ .Get "link" }}" {{ with .Get "target" }} target="{{ . }}" {{ end }}{{ with .Get "rel" }} rel="{{ . }}"
    {{ end }}>
    {{- end -}}
    {{- if eq (.Get "raw") true }}
    {{- $img := resources.Get (.Get "src") }}
    <img src="{{ $img.Permalink }}" {{- if or (.Get "alt") (.Get "caption") }}
      alt="{{ with .Get "alt" }}{{ . }}{{ else }}{{ .Get "caption" | markdownify| plainify }}{{ end }}" {{- end -}}
      width="{{ .Get "width" | default $img.Width }}" height="{{ .Get "height" | default $img.Height }}" />
    {{- else }}
    {{- partial "image.html" (dict "path" (.Get "src") "alt" (or (.Get "alt") (or (.Get "caption" | markdownify | plainify) (.Get "title"))) "width" (.Get "width") "height" (.Get "height")) }}
    {{- end }}
    {{- if .Get "link" }}</a>{{ end -}}
  {{- if or (or (.Get "title") (.Get "caption")) (.Get "attr") -}}
  <figcaption>
    {{- if or (.Get "caption") (.Get "attr") -}}
    {{- with (.Get "title") -}}
    <h4>{{ . }}</h4>
    {{- end -}}
    <p>
      {{- .Get "caption" | markdownify -}}
      {{- with .Get "attrlink" }}
      <a href="{{ . }}">
        {{- end -}}
        {{- .Get "attr" | markdownify -}}
        {{- if .Get "attrlink" }}</a>{{ end }}
    </p>
    {{- else -}}
    {{- with (.Get "title") -}}
    {{ . }}
    {{- end -}}
    {{- end -}}
  </figcaption>
  {{- end }}
</figure>