{{ $img := .Get "img" }}
{{ $caption := .Get "caption" }}
{{ $command := .Get "command" }}
{{ $options := .Get "options" }}

{{ $original := .Page.Resources.GetMatch (printf "*%s*" $img) }}
{{ $new := "" }}

{{ if eq $command "Fit" }}
  {{ $new = $original.Fit $options }}
{{ else if eq $command "Fill" }}
  {{ $new = $original.Fill $options }}
{{ else if eq $command "Resize" }}
  {{ $new = $original.Resize $options }}
{{ else if eq $command "Original" }}
  {{ $new = $original }}
{{ else }}
  {{ errorf "Invalid image processing command: Must be one of Fit, Fill, Resize, Original." }}
{{ end }}

<figure role="group" aria-describedby="caption-{{ $caption | md5 }}">
  <a href="{{ $original.RelPermalink }}" class="img-link">
    <img src="{{ $new.RelPermalink }}">
  </a>
  <figcaption id="caption-{{ $caption | md5 }}">
    {{ $caption | markdownify }}
  </figcaption>
</figure>