Files
static-site-pipeline/hugo/themes/anatole/layouts/partials/math.html
2023-09-30 18:34:20 +01:00

80 lines
3.6 KiB
HTML

{{- if or (eq site.Params.math true) (eq .Params.math true) -}}
{{- $use := "katex" -}}
{{- with site.Params.math -}}
{{- if and (isset . "use") (eq (.use | lower) "mathjax") -}}
{{- $use = "mathjax" -}}
{{- else if and (isset . "use") (eq (.use | lower) "katex-css") -}}
{{- $use = "katex-css" -}}
{{- end -}}
{{- end -}}
{{- if eq $use "mathjax" -}}
{{- $url := "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-AMS-MML_HTMLorMML" -}}
{{- $hash := "sha384-e/4/LvThKH1gwzXhdbY2AsjR3rm7LHWyhIG5C0jiRfn8AN2eTN5ILeztWw0H9jmN" -}}
<script defer
src="{{- $url -}}"
integrity="{{- $hash -}}"
crossorigin="anonymous"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({ tex2jax: { inlineMath: [['$','$'], ['\\(','\\)']] } });
</script>
{{- else if eq $use "katex" -}}
{{- $url := "https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.css" -}}
{{- $hash := "sha384-zB1R0rpPzHqg7Kpt0Aljp8JPLqbXI3bhnPWROx27a9N0Ll6ZP/+DiW/UqRcLbRjq" -}}
<link rel="preload"
as="script"
href="{{- $url -}}"
integrity="{{- $hash -}}"
crossorigin="anonymous" />
<noscript><link rel="stylesheet"
href="{{- $url -}}"
integrity="{{- $hash -}}"
crossorigin="anonymous" />
</noscript>
{{- $url := "https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/katex.min.js" -}}
{{- $hash := "sha384-y23I5Q6l+B6vatafAwxRu/0oK/79VlbSz7Q9aiSZUvyWYIYsd+qj+o24G5ZU2zJz" -}}
<script defer
src="{{- $url -}}"
integrity="{{- $hash -}}"
crossorigin="anonymous"></script>
{{- $url := "https://cdn.jsdelivr.net/npm/katex@0.11.1/dist/contrib/auto-render.min.js" -}}
{{- $hash := "sha384-kWPLUVMOks5AQFrykwIup5lo0m3iMkkHrD0uJ4H5cjeGihAutqP0yW0J6dpFiVkI" -}}
<script defer
src="{{- $url -}}"
integrity="{{- $hash -}}"
crossorigin="anonymous"
onload="renderMathInElement(document.body);"></script>
{{- else if eq $use "katex-css" -}}
{{ $css := resources.Get "katex.min.css" | resources.Minify | resources.Fingerprint }}
<link rel="stylesheet"
href="{{ $css.Permalink }}"
integrity="{{ $css.Data.Integrity }}"
crossorigin="anonymous" />
{{ $katexjs := resources.Get "katex.min.js" | resources.Minify | resources.Fingerprint }}
<script defer
src="{{ $katexjs.Permalink }}"
integrity="{{ $katexjs.Data.Integrity }}"
crossorigin="anonymous"></script>
{{ $katexrender := resources.Get "contrib/auto-render.min.js" | resources.Minify | resources.Fingerprint }}
<script defer
src="{{ $katexrender.Permalink }}"
integrity="{{ $katexrender.Data.Integrity }}"
crossorigin="anonymous"
onload="renderMathInElement(document.body);"></script>
{{ $fonts := readDir "themes/anatole/assets/fonts" }}
{{- range $fonts -}}
{{- if strings.HasSuffix .Name ".woff2" -}}
{{ $font := resources.Get (printf "fonts/%s" .Name) }}
<link rel="preload"
href="{{ $font.Permalink }}"
as="font"
type="font/woff2"
crossorigin="anonymous" />
{{- end -}}
{{- end -}}
{{- end -}}
{{- end -}}