{{ $algorithm := .Site.Params.fingerprintAlgorithm | default "sha256" }}
{{/* Mermaid */}}
{{ if .Page.HasShortcode "mermaid" }}
  {{ $mermaidLib := resources.Get "lib/mermaid/mermaid.min.js" }}
  {{ $mermaidConfig := resources.Get "js/mermaid.js" }}
  {{ $mermaidConfig := $mermaidConfig | resources.Minify }}
  {{ $mermaidJS := slice $mermaidLib $mermaidConfig | resources.Concat "js/mermaid.bundle.js" | resources.Fingerprint $algorithm }}
  <script
    defer
    type="text/javascript"
    src="{{ $mermaidJS.RelPermalink }}"
    integrity="{{ $mermaidJS.Data.Integrity }}"
  ></script>
{{ end }}
{{/* Chart */}}
{{ if .Page.HasShortcode "chart" }}
  {{ $chartLib := resources.Get "lib/chart/chart.umd.js" }}
  {{ $chartConfig := resources.Get "js/chart.js" }}
  {{ $chartConfig := $chartConfig | resources.Minify }}
  {{ $chartJS := slice $chartLib $chartConfig | resources.Concat "js/chart.bundle.js" | resources.Fingerprint $algorithm }}
  <script
    defer
    type="text/javascript"
    src="{{ $chartJS.RelPermalink }}"
    integrity="{{ $chartJS.Data.Integrity }}"
  ></script>
{{ end }}
{{/* Katex */}}
{{ if .Page.HasShortcode "katex" }}
  {{ $katexCSS := resources.Get "lib/katex/katex.min.css" }}
  {{ $katexCSS := $katexCSS | resources.Fingerprint $algorithm }}
  <link
    type="text/css"
    rel="stylesheet"
    href="{{ $katexCSS.RelPermalink }}"
    integrity="{{ $katexCSS.Data.Integrity }}"
  />
  {{ $katexJS := resources.Get "lib/katex/katex.min.js" }}
  {{ $katexJS := $katexJS | resources.Fingerprint $algorithm }}
  <script
    defer
    src="{{ $katexJS.RelPermalink }}"
    integrity="{{ $katexJS.Data.Integrity }}"
  ></script>
  {{ $katexRenderJS := resources.Get "lib/katex/auto-render.min.js" }}
  {{ $katexRenderJS := $katexRenderJS | resources.Fingerprint $algorithm }}
  <script
    defer
    src="{{ $katexRenderJS.RelPermalink }}"
    integrity="{{ $katexRenderJS.Data.Integrity }}"
    onload="renderMathInElement(document.body);"
  ></script>
  {{ $katexFonts := resources.Match "lib/katex/fonts/*" }}
  {{ range $katexFonts }}
    {{ .Publish }}
  {{ end }}
{{ end }}
