diff options
author | Wang Chucheng <me@wangchucheng.com> | 2021-03-31 18:09:21 +0300 |
---|---|---|
committer | Wang Chucheng <me@wangchucheng.com> | 2021-03-31 18:09:21 +0300 |
commit | 296ed03bc593a54af0eec50c7d4e4b63b7d0ac69 (patch) | |
tree | 6ae468204a3d3f96095001578b4ee8e2d7cb5a7b /layouts | |
parent | 4b0bb031102826fccf891a648f44713636f33dd0 (diff) |
feat: add mermaid support
Closes #26
Diffstat (limited to 'layouts')
-rw-r--r-- | layouts/partials/head.html | 23 | ||||
-rw-r--r-- | layouts/partials/utils/get-js-configs.html | 13 |
2 files changed, 30 insertions, 6 deletions
diff --git a/layouts/partials/head.html b/layouts/partials/head.html index 24f81e9..f85393d 100644 --- a/layouts/partials/head.html +++ b/layouts/partials/head.html @@ -110,6 +110,7 @@ {{ return $input }} {{ end }} +{{/* KaTeX */}} {{- if and (eq .Site.Params.math.handler "katex") $enableMath }} <link rel="stylesheet" href="{{ printf $assets.katex.css.url $assets.katex.version }}" {{ with $assets.katex.css.sri }} integrity="{{ . }}" {{ end }} media="print" @@ -127,17 +128,27 @@ { left: "\\(", right: "\\)", display: false }, { left: "\\[", right: "\\]", display: true } ], - {{- range $key, $value := .Site.Params.math.katex }} - {{- if and (ne $value nil) (ne $value "") }} - {{- $key = partial "partials/camelize" $key }} - {{- $key | safeJS -}}: {{- $value | safeJS }}, - {{- end }} - {{- end }} + {{- partial "utils/get-js-configs" .Site.Params.math.katex | safeJS }} }); }); </script> {{- end }} +{{/* Mermaid */}} +{{- if eq .Site.Params.diagram.handler "mermaid" }} +<script defer src="{{ printf $assets.mermaid.js.url $assets.mermaid.version }}" {{ with $assets.mermaid.js.sri }} + integrity="{{ . }}" {{ end }} crossorigin></script> +{{- with .Site.Params.diagram.mermaid }} +<script> + document.addEventListener("DOMContentLoaded", function () { + mermaid.initialize({ + {{- partial "utils/get-js-configs" . | safeJS }} + }); + }); +</script> +{{- end }} +{{- end }} + {{- if and .Site.GoogleAnalytics hugo.IsProduction }} <link rel="preconnect" href="https://www.google-analytics.com" crossorigin> <script async src="https://www.googletagmanager.com/gtag/js?id={{ .Site.GoogleAnalytics }}"></script> diff --git a/layouts/partials/utils/get-js-configs.html b/layouts/partials/utils/get-js-configs.html new file mode 100644 index 0000000..bb45a25 --- /dev/null +++ b/layouts/partials/utils/get-js-configs.html @@ -0,0 +1,13 @@ +{{- range $key, $value := . }} + {{- if or $value (eq $value false) }} + {{- $key = partial "partials/camelize" $key }} + {{- $key }}: + {{- if reflect.IsMap $value }} + { + {{ partial "utils/get-js-configs" . }} + }, + {{- else -}} + "{{ $value }}", + {{- end }} + {{- end }} +{{- end }}
\ No newline at end of file |