hugo-typo/layouts/_default/single.html
2025-02-21 08:57:59 +01:00

105 lines
2.3 KiB
HTML

{{ define "main" }}
{{/* Breadcrumbs */}}
{{ if not .IsHome }}
{{ partial "breadcrumbs.html" . }}
{{ end }}
<div {{ if .Param "autonumber" }} class="autonumber" {{ end }}>
<div class="single-intro-container">
{{/* Title and Summary */}}
<h1 class="single-title">{{ .Title }}</h1>
{{ with .Param "summary" }}
<p class="single-summary">{{ . | markdownify }}</p>
{{ end }}
{{/* Reading Time */}}
<p class="single-readtime">
{{ with .Date }}
{{ $dateMachine := . | time.Format "2006-01-02T15:04:05-07:00" }}
{{ $dateHuman := . | time.Format (default ":date_long" $.Site.Params.singleDateFormat) }}
<time datetime="{{ $dateMachine }}">{{ $dateHuman }}</time>
{{end}}
{{ if .Param "readTime" }}
&nbsp; · &nbsp;
{{ .ReadingTime }} min read
{{end }}
</p>
</div>
{{ if .Param "showTags" }}
{{ $taxonomy := "tags" }}
{{ with .Param $taxonomy }}
<div class="single-tags">
{{ range $index, $tag := . }}
{{ with $.Site.GetPage (printf "/%s/%s" $taxonomy $tag) -}}
<span>
<a href="{{ .Permalink }}">#{{ .LinkTitle }}</a>
</span>
{{ end }}
{{ end }}
</div>
{{ end }}
{{ end }}
{{/* Table of Content */}}
{{ if .Param "toc" }}
<aside class="toc">
<p><strong>Table of contents</strong></p>
{{ .TableOfContents }}
</aside>
{{ end }}
{{/* Page content */}}
<div class="single-content">
{{ .Content }}
{{ if .Site.Params.giscus.enable }}
{{ if not .Params.disableComment }}
{{ partial "comments.html" . }}
{{ end }}
{{ end }}
</div>
{{ if .Store.Get "hasMermaid" }}
{{ $mermaidDarkTheme := default "dark" (or .Params.mermaidDarkTheme .Site.Params.mermaidDarkTheme) }}
{{ $mermaidTheme := default "default" (or .Params.mermaidTheme .Site.Params.mermaidTheme) }}
<script defer
type="module"
id="mermaid_script"
data-light-theme="{{ $mermaidTheme }}"
data-dark-theme="{{ $mermaidDarkTheme }}"
src='{{ "js/mermaid.js" | relURL }}'>
</script>
{{ end }}
{{/* Next prev controls */}}
{{ if not (.Param "hidePagination") }}
{{ partial "pagination-single.html" . }}
{{ end }}
{{/* Back to top */}}
{{ if not (.Param "hideBackToTop") }}
<div class="back-to-top">
<a href="#top">
back to top
</a>
</div>
{{ end }}
</div>
{{ end }}