51 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
{{- $imgs := slice -}}
 | 
						|
{{- $class := .Get "class" -}}
 | 
						|
{{- $shouldResize := .Get "shouldResize" | default true -}}
 | 
						|
{{- $shouldShowTitle := (.Get "shouldShowTitle") | default true -}}
 | 
						|
 | 
						|
{{- if .Get "name" -}}
 | 
						|
  {{- $imgs = $imgs | append (.Page.Resources.GetMatch (.Get "name")) -}}
 | 
						|
{{- else if .Get "names" -}}
 | 
						|
  {{- range (split (.Get "names") ",") -}}
 | 
						|
    {{- $imgs = $imgs | append ($.Page.Resources.GetMatch .) -}}
 | 
						|
  {{- end -}}
 | 
						|
{{- else -}}
 | 
						|
  {{ errorf "Missing name or names parameter to figures/image" }}
 | 
						|
{{- end -}}
 | 
						|
 | 
						|
{{- if lt (len $imgs) 0 -}}
 | 
						|
  {{ errorf "No images found for name(s) parameter" }}
 | 
						|
{{- end -}}
 | 
						|
 | 
						|
{{ with $item := index $imgs 0 }}
 | 
						|
  <figure class="figure  figure--{{ $item.ResourceType }}{{ with $class }}  {{ . }}{{ end }}">
 | 
						|
    <div class="figure__container">
 | 
						|
      {{ if eq $item.ResourceType "image" }}
 | 
						|
        {{- $processedImage := $item -}}
 | 
						|
        {{- if $shouldResize -}}
 | 
						|
          {{ $processedImage = $item.Fit "1280x1280" }}
 | 
						|
        {{- end -}}
 | 
						|
 | 
						|
        {{- $altText := $item.Params.alt | default $item.Title -}}
 | 
						|
        <a href="{{ $item.RelPermalink }}">
 | 
						|
          <img src="{{ $processedImage.RelPermalink }}"
 | 
						|
            {{- with $altText }} alt="{{ . }}"{{- end }}
 | 
						|
            {{- with $item.Title }} title="{{ . }}"{{- end }}>
 | 
						|
        </a>
 | 
						|
      {{ else if eq $item.ResourceType "video" }}
 | 
						|
        <video controls width="100%">
 | 
						|
          <source src="{{ $item.RelPermalink }}" type="{{ $item.MediaType.Type }}">
 | 
						|
        </video>
 | 
						|
      {{- end }}
 | 
						|
    </div>
 | 
						|
    {{ if $shouldShowTitle -}}
 | 
						|
      {{- with $item -}}
 | 
						|
        {{- if gt (len .Title) 0 -}}
 | 
						|
          <figcaption>{{ .Title | markdownify }}</figcaption>
 | 
						|
        {{- end -}}
 | 
						|
      {{- end -}}
 | 
						|
    {{- end }}
 | 
						|
  </figure>
 | 
						|
{{ else }}
 | 
						|
  {{ errorf "Found nil in items list for %s" $.Page.Permalink }}
 | 
						|
{{ end }}
 |