cremeaux/layouts/partials/article-preview.html

39 lines
1.8 KiB
HTML

{{ $isBig := default false (.Scratch.Get "big") }}
{{ $title := .RenderString .Title }}
{{ $titleWithoutHTML := $title | plainify }}
{{ $pictureSize := cond $isBig "528x528 Center webp" "100x100 Center webp" }}
{{ $truncateSize := cond $isBig 180 90}}
<div class="post{{ if $isBig }} big{{ end }}">
<div class="picture">
{{ $imageName := or .Params.vignette .Params.image }}
{{ $image := .Resources.GetMatch (default "**.jpg" $imageName) }}
<a href="{{ .RelPermalink }}">
{{ if $image }}
{{ $resized := $image.Fill $pictureSize}}
<img src="{{ $resized.RelPermalink }}" alt="{{ $titleWithoutHTML }}" loading="lazy" />
{{ end }}
</a>
</div>
<div class="details">
<small>
<time datetime="{{ .Date.Format "2006-01-02" }}">{{ .Date.Day }} {{ index $.Site.Data.mois (printf "%d" .Date.Month) }} {{ .Date.Year }}</time>{{ if or (isset .Params "auteur") (isset .Params "authors") }} - {{ if isset .Params "authors" -}}
{{ range $key, $value := .Params.authors }}
{{ with site.GetPage $value }}
{{ if gt $key 0 }} & {{ end }}
<a href="{{ .RelPermalink }}">{{ .Title }}</a>
{{ end }}
{{ end }}
{{- end }}{{ if isset .Params "auteur" }}{{ if isset .Params "authors" -}} & {{ end }}{{ .Params.auteur }}{{ end }}{{ end }}
</small>
{{ if $isBig }}
<h2 title="{{ $titleWithoutHTML }}"><a href="{{ .RelPermalink }}">{{ $title }}</a></h2>
{{else}}
<h3 title="{{ $titleWithoutHTML }}"><a href="{{ .RelPermalink }}">{{ $title }}</a></h3>
{{ end }}
<div class="text">
{{ $ellipsis := print " <a href='" .RelPermalink "'></a>" | safeHTML }}
{{ (replace (.Content | plainify) "\n" " ") | htmlUnescape | truncate $truncateSize $ellipsis }}
</div>
</div>
</div>