Files
hugo_serialReader/layouts/_default/single.html
T
2025-05-20 12:01:13 -06:00

127 lines
4.7 KiB
HTML

{{- define "main" }}
<article class="post-single">
<header class="post-header">
{{ partial "breadcrumbs.html" . }}
<h1 class="post-title entry-hint-parent">
{{ .Title }}
{{- if .Draft }}
<span class="entry-hint" title="Draft">
<svg xmlns="http://www.w3.org/2000/svg" height="35" viewBox="0 -960 960 960" fill="currentColor">
<path
d="M160-410v-60h300v60H160Zm0-165v-60h470v60H160Zm0-165v-60h470v60H160Zm360 580v-123l221-220q9-9 20-13t22-4q12 0 23 4.5t20 13.5l37 37q9 9 13 20t4 22q0 11-4.5 22.5T862.09-380L643-160H520Zm300-263-37-37 37 37ZM580-220h38l121-122-18-19-19-18-122 121v38Zm141-141-19-18 37 37-18-19Z" />
</svg>
</span>
{{- end }}
</h1>
<div class="post-description">
{{- if .Param "part" }}
Part {{ .Param "part" }}
{{- if .Param "chapter" }}
&bull; Chapter {{ .Param "chapter" }}
{{- end }}
{{- end }}
</div>
{{- if .Description }}
<div class="post-description">
{{ .Description }}
</div>
{{- end }}
{{- if not (.Param "hideMeta") }}
<div class="post-meta">
{{- partial "post_meta.html" . -}}
{{- partial "translation_list.html" . -}}
{{- partial "edit_post.html" . -}}
{{- partial "post_canonical.html" . -}}
</div>
{{- end }}
</header>
{{- $isHidden := (.Param "cover.hiddenInSingle") | default (.Param "cover.hidden") | default false }}
{{- partial "cover.html" (dict "cxt" . "IsSingle" true "isHidden" $isHidden) }}
{{- if (.Param "ShowToc") }}
{{- partial "toc.html" . }}
{{- end }}
{{- if .Content }}
<div class="post-content">
{{- if not (.Param "disableAnchoredHeadings") }}
{{- partial "anchored_headings.html" .Content -}}
{{- else }}{{ .Content }}{{ end }}
</div>
{{- end }}
{{- if (.Param "authorPage")}}
<h2 style="margin: 4rem 0 2rem 0">Recently Published</h2>
<div class="author-flex">
{{- $author := (.Params.author | default site.Params.author) }}
{{- $authorPage := site.GetPage (printf "%s%s" "/authors/" $author) }}
{{- $pages := site.RegularPages.ByDate.Reverse }}
{{- range first 4 (where $pages "Params.author" $author ) }}
<article class="section">
{{- partial "cover.html" (dict "cxt" . "IsSingle" false) }}
<header class="entry-header">
<h2 class="entry-hint-parent">
{{- .Title }}
{{- if .Draft }}
<span class="entry-hint" title="Draft">
<svg xmlns="http://www.w3.org/2000/svg" height="20" viewBox="0 -960 960 960" fill="currentColor">
<path
d="M160-410v-60h300v60H160Zm0-165v-60h470v60H160Zm0-165v-60h470v60H160Zm360 580v-123l221-220q9-9 20-13t22-4q12 0 23 4.5t20 13.5l37 37q9 9 13 20t4 22q0 11-4.5 22.5T862.09-380L643-160H520Zm300-263-37-37 37 37ZM580-220h38l121-122-18-19-19-18-122 121v38Zm141-141-19-18 37 37-18-19Z" />
</svg>
</span>
{{- end }}
</h2>
</header>
<div class="entry-content">
<p>{{ .Summary | plainify | htmlUnescape }}{{ if .Truncated }}...{{ end }}</p>
</div>
{{- if not (.Param "hideMeta") }}
<footer class="entry-footer">
{{- partial "post_meta.html" . -}}
</footer>
{{- end }}
<a class="entry-link" aria-label="post link to {{ .Title | plainify }}" href="{{ .Permalink }}"></a>
</article>
{{- end }}
</div>
{{- end }}
<footer class="post-footer">
{{- $tags := .Language.Params.Taxonomies.tag | default "tags" }}
{{- $categories := .Language.Params.Taxonomies.category | default "categories" }}
<!-- (re)set the counter to 0 -->
{{- $.Scratch.Set "tagCounter" 0 }}
<!-- increment counter if post contains the current tag-->
{{- range ($.GetTerms $tags) }}
{{- $.Scratch.Add "tagCounter" 1 }}
{{- end }}
{{- range ($.GetTerms $categories) }}
{{- $.Scratch.Add "tagCounter" 1 }}
{{- end }}
{{- if gt ($.Scratch.Get "tagCounter") 0}}
<div class="tags-categories">
<ul class="post-tags">
<li>Tagged</li>
{{- range ($.GetTerms $tags) }}
<li><a href="{{ .Permalink }}">{{ .LinkTitle }}</a></li>
{{- end }}
</ul>
<ul class="post-tags">
<li>Categorized</li>
{{- range ($.GetTerms $categories) }}
<li><a href="{{ .Permalink }}">{{ .LinkTitle }}</a></li>
{{- end }}
</ul>
</div>
{{- end}} <!-- tagcounter -->
{{- if (.Param "ShowPostNavLinks") }}
{{- partial "post_nav_links.html" . }}
{{- end }}
{{- if (and site.Params.ShowShareButtons (ne .Params.disableShare true)) }}
{{- partial "share_icons.html" . -}}
{{- end }}
</footer>
</article>
{{- end }}{{/* end main */}}