{{/* 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 "sha512" }}
  <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 "sha512" }}
  <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 "sha512" }}
  <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 "sha512" }}
  <script defer src="{{ $katexJS.RelPermalink }}" integrity="{{ $katexJS.Data.Integrity }}"></script>
  {{ $katexRenderJS := resources.Get "lib/katex/auto-render.min.js" }}
  {{ $katexRenderJS := $katexRenderJS | resources.Fingerprint "sha512" }}
  <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 }}