Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/wangchucheng/hugo-eureka.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWang Chucheng <me@wangchucheng.com>2021-03-31 18:09:21 +0300
committerWang Chucheng <me@wangchucheng.com>2021-03-31 18:09:21 +0300
commit296ed03bc593a54af0eec50c7d4e4b63b7d0ac69 (patch)
tree6ae468204a3d3f96095001578b4ee8e2d7cb5a7b /layouts
parent4b0bb031102826fccf891a648f44713636f33dd0 (diff)
feat: add mermaid support
Closes #26
Diffstat (limited to 'layouts')
-rw-r--r--layouts/partials/head.html23
-rw-r--r--layouts/partials/utils/get-js-configs.html13
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