forked from q04/www.trr379.de
Previously, a portrait would be shown only if the page had content (beyond the front matter in markdown file). This became apparent when we switched to pages generated from the Pool metadata which only had the front matter if the Person's description was empty. Given that this behavior goes back toff7bd673and577d7810it would seem that it was an unintended consequence of extending the default template, and we can safely extend it further. In the html output, the portrait and text content share a section. It seems that adding an "or" allows us to show the portrait regardless of content presence while still avoiding an empty section.
86 lines
3.7 KiB
HTML
86 lines
3.7 KiB
HTML
{{ define "main" }}
|
|
{{- $images := .Resources.ByType "image" }}
|
|
{{- $portrait := $images.Get .Params.portrait | default ($images.GetMatch "*portrait*") | default ($images.GetMatch "*thumbnail*") }}
|
|
<header>
|
|
{{ if .Params.showBreadcrumbs | default (.Site.Params.list.showBreadcrumbs | default false) }}
|
|
{{ partial "breadcrumbs.html" . }}
|
|
{{ end }}
|
|
<h1 class="mt-0 text-4xl font-extrabold text-neutral-900 dark:text-neutral">{{ if .Param "name-title"}}{{ .Param "name-title" }} {{ end }}{{ .Title }}</h1>
|
|
{{ with .GetTerms "roles" }}
|
|
{{ range . }}
|
|
<span class="ms-1 rounded-md border border-primary-400 px-1 py-[1px] text-xs font-normal text-primary-700 dark:border-primary-600 dark:text-primary-400">
|
|
<a href="{{ .Permalink }}">{{ .Title }}</a>
|
|
</span>
|
|
{{ end }}
|
|
{{ end }}
|
|
</header>
|
|
{{ if .Param "affiliation" }}
|
|
<section class="mt-1 flex max-w-full flex-col dark:prose-invert lg:flex-row">
|
|
<p>{{ .Param "affiliation" }}</p>
|
|
</section>
|
|
{{ end }}
|
|
{{ if .Param "orcid" }}
|
|
<section class="prose mt-0 flex max-w-full flex-col dark:prose-invert lg:flex-row">
|
|
<p><a href="https://orcid.org/{{ .Param "orcid" }}" target="_blank" rel="noreferrer">
|
|
{{ partial "icon.html" "orcid" }}{{ .Param "orcid" }}
|
|
</a></p>
|
|
</section>
|
|
{{ end }}
|
|
{{ if .Param "seealso-link" }}
|
|
<section class="prose mt-0 flex max-w-full flex-col dark:prose-invert lg:flex-row">
|
|
<p><a href="{{ .Param "seealso-link" }}" target="_blank" rel="noreferrer">
|
|
{{ partial "icon.html" "circle-info" }}{{ .Param "seealso-text" | default "Homepage" }}
|
|
</a></p>
|
|
</section>
|
|
{{ end }}
|
|
{{ if or .Content $portrait }}
|
|
<section class="prose mt-0 flex max-w-full flex-col dark:prose-invert lg:flex-row">
|
|
{{ with $portrait }}
|
|
<div style="float:left;width:200px;margin-right:1em" class="mt-4">
|
|
{{ $altText := $.Params.portraitAlt | default $.Page.Title }}
|
|
{{ $class := "max-w-4 mb-6 -mt-4 rounded-md" }}
|
|
{{ $webp := $.Page.Site.Params.enableImageWebp | default true }}
|
|
{{ partial "picture.html" (dict "img" . "alt" $altText "class" $class "lazy" false "webp" $webp) }}
|
|
</div>
|
|
{{ end }}
|
|
<div class="pt-4 min-h-0 min-w-0 max-w-prose grow">
|
|
{{ .Content | emojify }}
|
|
</div>
|
|
</section>
|
|
{{ end }}
|
|
<h2 class="mt-0 text-2xl font-extrabold text-neutral-900 dark:text-neutral">Related content</h2>
|
|
<section>
|
|
{{ if .Data.Pages }}
|
|
<section>
|
|
{{ if $.Params.groupByYear | default ($.Site.Params.list.groupByYear | default true) }}
|
|
{{ range (.Paginate (.Pages.GroupByDate "2006")).PageGroups }}
|
|
<h2 class="mt-12 text-2xl font-bold text-neutral-700 first:mt-8 dark:text-neutral-300">
|
|
{{ .Key }}
|
|
</h2>
|
|
<hr class="w-36 border-dotted border-neutral-400" />
|
|
{{ range .Pages }}
|
|
{{ partial "article-link.html" . }}
|
|
{{ end }}
|
|
{{ end }}
|
|
{{ else }}
|
|
{{ range (.Paginate (.Pages.GroupBy "Type")).PageGroups }}
|
|
<h2 class="mt-12 text-2xl font-bold text-neutral-700 first:mt-8 dark:text-neutral-300">
|
|
{{ .Key | title }}
|
|
</h2>
|
|
<hr class="w-36 border-dotted border-neutral-400" />
|
|
{{ range .Pages.ByParam "sortkey" }}
|
|
{{ partial "article-link.html" . }}
|
|
{{end}}
|
|
{{ end }}
|
|
{{ end }}
|
|
</section>
|
|
{{ partial "pagination.html" . }}
|
|
{{ else }}
|
|
<section class="prose mt-10 dark:prose-invert">
|
|
<p class="border-t py-8">
|
|
<em>{{ i18n "list.no_articles" | emojify }}</em>
|
|
</p>
|
|
</section>
|
|
{{ end }}
|
|
</section>
|
|
{{ end }}
|