summaryrefslogtreecommitdiff
path: root/layouts/_default/single.html
blob: 000977aead0c6fa96a05c54fda71348e2f68d5ef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
{{ 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">{{ . }}</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 }}
    {{ partial "comments.html" . }}
    {{ end }}
  </div>

  {{ if .Store.Get "hasMermaid" }}
  <script type="module">
    import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.esm.min.mjs';
    mermaid.initialize({ startOnLoad: true });
  </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 }}