1
Files
2025/themes/default/layouts/_default/_markup/render-image.html
2025-03-28 12:57:37 +01:00

55 lines
1.9 KiB
HTML

{{- $imgPath := .Destination -}}
{{- $imgName := path.Base $imgPath | replaceRE "\\.[^.]+$" "" -}} {{/* Supprime l'extension */}}
{{- $dataPath := printf "data/images/%s.yaml" $imgName -}}
{{- $dataFile := .Page.Resources.Get $dataPath -}}
{{- $data := dict -}}
{{- if $dataFile }}
{{- $data = $dataFile.Content | transform.Unmarshal -}}
{{- end }}
{{- $alt := .PlainText | default $data.title | default "" -}}
{{- $title := .Title | default $data.title | default "" -}}
{{- $image := .Page.Resources.GetMatch $imgPath -}}
{{- $isBlock := .IsBlock -}}
{{- if $image }}
{{- $resized := $image.Resize (cond (eq $isBlock true) "1024x" "500x") -}}
{{- $large := $image.Resize "1920x" -}}
{{- if $isBlock }}
<figure class="custom-image center">
<a href="{{ $large.RelPermalink }}" title="Cliquez pour agrandir l'image">
<img src="{{ $resized.RelPermalink }}" alt="{{ $alt }}" title="{{ $title }}" />
</a>
{{- if $data.prompt }}
<details>
<summary>
<strong>Attribution :</strong>
{{- with $data.attribution }}<em>{{ . | markdownify }}</em>{{- end }}
</summary>
<p><strong>Prompt :</strong> <em>{{ $data.prompt }}</em></p>
</details>
{{- else }}
{{- with $data.attribution }}
<p class="details">
<strong>Attribution :</strong>
<em>{{ . | markdownify }}</em>
</p>
{{- end }}
<figcaption>
{{- with $data.description }}
<p>{{ . | markdownify }}</p>
{{- end }}
</figcaption>
{{- end }}
</figure>
{{- else }}
<img src="{{ $resized.RelPermalink }}" alt="{{ $alt }}" title="{{ $title }}">
{{- end }}
{{- else }}
{{- if $isBlock }}
<figure>
<img src="{{ $imgPath | safeURL }}" alt="{{ $alt }}" title="{{ $title }}">
{{- with $title }}<figcaption>{{ . }}</figcaption>{{ end }}
</figure>
{{- else }}
<img src="{{ $imgPath | safeURL }}" alt="{{ $alt }}" title="{{ $title }}">
{{- end }}
{{- end }}