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