{{ if .Get "default" }}
  {{ template "_internal/shortcodes/figure.html" . }}
{{ else }}
  {{ $url := urls.Parse (.Get "src") }}
  {{ $altText := .Get "alt" }}
  {{ $caption := .Get "caption" }}
  {{ $href := .Get "href" }}
  {{ $class := .Get "class" }}
  {{ if findRE "^https?" $url.Scheme }}
    <figure>
      <img class="my-0 rounded-md" src="{{ $url.String }}" alt="{{ $altText }}" />
      {{ with $caption }}<figcaption>{{ . | markdownify }}</figcaption>{{ end }}
    </figure>
  {{ else }}
    {{ $resource := "" }}
    {{ if $.Page.Resources.GetMatch ($url.String) }}
      {{ $resource = $.Page.Resources.GetMatch ($url.String) }}
    {{ else if resources.GetMatch ($url.String) }}
      {{ $resource = resources.Get ($url.String) }}
    {{ end }}
    {{ with $resource }}
      <figure {{ with $class }}class="{{ . }}"{{ end }}>
        {{ with $href }}<a href="{{ . }}">{{ end }}
          <img
            class="my-0 rounded-md"
            srcset="
            {{ (.Resize "330x").RelPermalink }} 330w,
            {{ (.Resize "660x").RelPermalink }} 660w,
            {{ (.Resize "1024x").RelPermalink }} 1024w,
            {{ (.Resize "1320x").RelPermalink }} 2x"
            src="{{ (.Resize "660x").RelPermalink }}"
            alt="{{ $altText }}"
          />
        {{ if $href }}</a>{{ end }}
        {{ with $caption }}<figcaption>{{ . | markdownify }}</figcaption>{{ end }}
      </figure>
    {{ else }}
      <figure>
        <img class="my-0 rounded-md" src="{{ $url.String }}" alt="{{ $altText }}" />
        {{ with $caption }}<figcaption>{{ . | markdownify }}</figcaption>{{ end }}
      </figure>
    {{ end }}
  {{ end }}
{{ end }}