hugo-theme-more-contentful/layouts/_default/single.html
Gabriel Arazas 044a9482a7 Fix conditional rendering for post metadata
You would think this is something like this is already in the theme but
it turns out it isn't. This should fix pages that are primarily
non-content (i.e., about pages, contact).
2023-02-27 16:46:11 +08:00

63 lines
2.6 KiB
HTML

{{ define "main" }}
<div class="post--single">
<main>
<article>
<header>
<h1>{{ .Title }}</h1>
{{ partial "partials/components/post-meta.html" . }}
</header>
{{ $is_toc := cond (ne .Params.toc nil) .Params.toc $.Site.Params.toc }}
{{ if (and $is_toc (gt (countrunes .TableOfContents) 0)) }}
<style>
#TableOfContents:not(:empty)::before {
content: "{{ i18n "table_of_contents" | default "Table of contents" }}";
font-weight: bold;
}
</style>
{{ .TableOfContents }}
{{ end }}
{{ .Content }}
</article>
</main>
{{ if or (or .PublishDate .Lastmod) .IsTranslated }}
<hr aria-hidden="true"/>
<div class="post__meta--single" aria-hidden="true">
<!-- List the author(s) of the article. -->
{{- with .Params.author }}
{{- $names := slice }}
{{- range . }}{{ $names = $names | append .name }}{{ end }}
<p data-content-author="{{ jsonify $names }}">{{ i18n "published_by" }}: {{ delimit $names ", " (printf " %s " (i18n "and")) }}</p>
{{- end }}
<!-- Only show the creation date if the `date` field is valid. -->
{{- if ne (.PublishDate.Format "2006") "0001" -}}
<!-- Publication date. -->
<p data-content-publication-date="{{ .PublishDate.Format "2006-01-02T15:04:05Z07:00" }}">{{ i18n "published_on" }}: <time datetime="{{ .PublishDate.Format "2006-01-02T15:04:05Z07:00" }}">{{ .PublishDate.Format "2006-01-02" }}</time></p>
{{- end }}
<!-- Modification date (will only appear if the publication date is less than the modified date.) -->
{{- if ne .PublishDate .Lastmod }}
<p data-content-modification-date="{{ .Lastmod.Format "2006-01-02T15:04:05Z07:00" }}">{{ i18n "updated_on" }}: <time datetime="{{ .Lastmod.Format "2006-01-02T15:04:05Z07:00" }}">{{ .Lastmod.Format "2006-01-02" }}</time></p>
{{- end }}
<!-- Link the translated versions if the article has at least one translated page. -->
{{- if .IsTranslated }}
{{- $lang_links := slice }}
{{- $langs := slice }}
{{- range .Translations }}
{{- $lang := cond (ne .Language.LanguageName nil) .Language.LanguageName .Lang }}
{{ $lang_links = $lang_links | append (printf "<a href=%s>%s</a>" .Permalink $lang) }}
{{ $langs = $langs | append $lang }}
{{- end }}
<p data-content-translations="{{ jsonify $langs }}">{{ i18n "available_translations" }}: {{ delimit $lang_links "," (printf " %s " (i18n "and")) }}</p>
{{- end }}
</div>
{{ end }}
</div>
{{ end }}