summaryrefslogtreecommitdiff
path: root/layouts/_default/single.html
blob: 01c35c2d00115c46783bc89d6115d0af849dff96 (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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
{{ define "main" }}

{{/* Breadcrumbs */}}

{{ if not .IsHome }}
{{ partial "breadcrumbs.html" . }}
{{ end }}

<div {{ if .Param "autonumber" }} class="autonumber" {{ end }}>
  <article>
    <header class="single-intro-container">
        {{- /* Title and Summary */}}
        
        <h1 class="single-title">{{ .Title }}</h1>
        {{- with .Param "summary" }}
        <p class="single-summary">{{ . | markdownify }}</p>
        {{- end }}
   
        {{- /* Date, Reading Time and Author */}}
        <div class="single-subsummary">
          {{ with $.Param "authorAvatarPath" }}
            <img src="{{ . }}" alt="Author Avatar" />
          {{ end }}
          <div>
            {{ with .Param "author" }}
            <p class="author"> {{- .}} </p>
            {{ end }}
            <p class="single-date">
            {{- 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>
        </div>
        
    </header>
    
    {{- 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 Contents */}}
    
    {{- if .Param "toc" }}
      <aside class="toc">
        <p><strong>Table of contents</strong></p>
        {{ .TableOfContents }}
      </aside>
    {{- end }}
    
    {{- /* Page content */}}
    
    <div class="single-content">
      {{ .Content }}
    </div>
  </article>
  
  {{- /* Comments */}}

  {{- if and .Site.Params.giscus.enable (not .Params.disableComment) }}
    <div class="single-comments">
      {{ partial "comments.html" . }}
    </div>
  {{- end }}

  {{ 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 }}