{{- $src := $.Page.Resources.GetMatch ( .Get "src" ) -}} {{- $linkedResource := $.Page.Resources.GetMatch ( .Get "link" ) -}} {{- $valid_rel_values := partialCached "util/get_valid_rel_values.html.tmpl" . -}} {{- if not ( in ( slice "image" "video" ) $src.ResourceType ) -}} {{- errorf "Resource '%q' resource type '%q' is not valid (%q)" ( .Get "src" ) $src.ResourceType .Page.File.Path -}} {{- end -}} {{- if ( not $src ) -}} {{- errorf "No Page Resource found for src '%q' (%q)" ( .Get "src" ) .Page.File.Path -}} {{- end -}} {{- with .Get "rel" -}} {{- if not ( in $valid_rel_values . ) -}} {{- errorf "Invalid rel value '%q' (%q)" . .Page.File.Path -}} {{- end -}} {{- end -}}
{{- if .Get "link" -}} {{- if $linkedResource }} {{ else }} {{ end }} {{- end -}} {{- if eq $src.ResourceType "image" -}} {{- partial "media/picture.html.tmpl" $src -}} {{- else if eq $src.ResourceType "video" -}} {{- if eq $src.MediaType "video/ogg" -}} {{- partial "media/audio.html.tmpl" $src -}} {{- else -}} {{- partial "media/video.html.tmpl" ( dict "src" $src "page_file_path" .Page.File.Path ) -}} {{- end -}} {{- else if ( or ( ne $src.ResourceType "image" ) ( ne $src.ResourceType "video" ) ) -}} {{- errorf "No handling for resource of type %q" $src.ResourceType -}} {{- end -}} {{- if .Get "link" }}{{ end -}} {{- if or ( .Get "caption" ) ( .Get "title" ) ( $src.Params.attr ) -}}
{{- if .Params.attrlink -}}{{- end -}} {{- if .Params.attr -}}

{{ .Params.attr | safeHTML }}{{ with .Params.attrlicence }} {{ . | safeHTML }}{{ end }}

{{- end -}} {{- if .Params.attrlink -}}
{{- end -}} {{- with .Get "title" -}}

{{ . | markdownify | safeHTML }}

{{- end -}} {{- with .Get "caption" -}}

{{ . | markdownify | safeHTML }}

{{- end -}}
{{- end -}}