figure.html 878 B

12345678910111213141516171819202122232425262728
  1. {{ $img := .Get "img" }}
  2. {{ $caption := .Get "caption" }}
  3. {{ $command := .Get "command" }}
  4. {{ $options := .Get "options" }}
  5. {{ $original := .Page.Resources.GetMatch (printf "*%s*" $img) }}
  6. {{ $new := "" }}
  7. {{ if eq $command "Fit" }}
  8. {{ $new = $original.Fit $options }}
  9. {{ else if eq $command "Fill" }}
  10. {{ $new = $original.Fill $options }}
  11. {{ else if eq $command "Resize" }}
  12. {{ $new = $original.Resize $options }}
  13. {{ else if eq $command "Original" }}
  14. {{ $new = $original }}
  15. {{ else }}
  16. {{ errorf "Invalid image processing command: Must be one of Fit, Fill, Resize, Original." }}
  17. {{ end }}
  18. <figure role="group" aria-describedby="caption-{{ $caption | md5 }}">
  19. <a href="{{ $original.Permalink }}" class="img-link">
  20. <img src="{{ $new.Permalink }}">
  21. </a>
  22. <figcaption id="caption-{{ $caption | md5 }}">
  23. {{ $caption | markdownify }}
  24. </figcaption>
  25. </figure>