1{{ define "main" }}
2{{- with .Params.cover }}
3<div class="article-cover">
4 {{- $base := site.Params.r2BaseURL -}}
5 {{- $src := cond (hasPrefix . "http") . (cond site.Params.r2Transforms (printf "%s/cdn-cgi/image/width=900,format=webp,quality=80/%s" $base .) (printf "%s/%s" $base .)) -}}
6 <img src="{{ $src }}" alt="" class="article-cover__img" loading="eager" decoding="async">
7</div>
8{{- end }}
9<article class="article shell--narrow">
10 <header class="article-header">
11 <div class="article-header__sentinel" data-header-sentinel></div>
12 <div class="article-meta">
13 <div class="article-meta__info">
14 <time datetime="{{ .Date.Format "2006-01-02" }}">{{ .Date.Format "January 2, 2006" }}</time>
15 <span class="article-meta__sep">·</span>
16 <span>{{ .ReadingTime }} min read</span>
17 </div>
18 {{- with .Translations }}
19 <div class="article-meta__translations">
20 <span class="article-meta__translations-label">also in</span>
21 {{- range $i, $t := . }}
22 {{- if gt $i 0 }}<span class="article-meta__sep">·</span>{{- end }}
23 <a href="{{ $t.RelPermalink }}" class="article-meta__lang" hreflang="{{ $t.Language.Lang }}" lang="{{ $t.Language.Lang }}">{{ $t.Language.Lang }}</a>
24 {{- end }}
25 </div>
26 {{- end }}
27 </div>
28 <h1 class="article-title title-lg">{{ .Title }}</h1>
29 {{- with .GetTerms "tags" }}
30 <ul class="article-tags tag-list list-none">
31 {{- range . -}}
32 <li class="tag-list__item"><a href="{{ .Permalink }}" class="tag-list__link"><span class="tag-list__name">{{ .LinkTitle }}</span></a></li>
33 {{- end -}}
34 </ul>
35 {{- end }}
36 {{ with .Description }}
37 <p class="article-desc">{{ . | plainify }}</p>
38 {{ end }}
39 </header>
40
41 <div class="article-body">
42 {{ partial "post/toc.html" . }}
43
44 <div class="article-content">
45 {{ .Content }}
46 </div>
47 </div>
48
49</article>
50{{ partial "image-preview.html" . }}
51{{ end }}