diff --git a/layouts/_default/_markup/render-codeblock-chem.html b/layouts/_default/_markup/render-codeblock-chem.html
new file mode 100644
index 0000000000..1480857725
--- /dev/null
+++ b/layouts/_default/_markup/render-codeblock-chem.html
@@ -0,0 +1,18 @@
+{{ .Page.Store.Set "hasmhchem" true -}}
+
+{{/* set default delimiters */ -}}
+{{ $delimiter_left := "$$" -}}
+{{ $delimiter_right := "$$" -}}
+
+{{/* override delimiters if set in config file */ -}}
+{{ with $.Page.Site.Params.katex.options.delimiters -}}
+ {{ range first 1 ( where . "display" true ) -}}
+ {{ $delimiter_left = index . "left" -}}
+ {{ $delimiter_right = index . "right" -}}
+ {{ end -}}
+{{ end -}}
+
+{{/* output of chemical formulae */}}
+
{{ $delimiter_left -}}
+{{ .Inner | safeHTML -}}
+{{ $delimiter_right -}}
{{ "" -}}
diff --git a/layouts/_default/_markup/render-codeblock-math.html b/layouts/_default/_markup/render-codeblock-math.html
index 831b9a2f6b..8308694906 100644
--- a/layouts/_default/_markup/render-codeblock-math.html
+++ b/layouts/_default/_markup/render-codeblock-math.html
@@ -1,16 +1,18 @@
-{{/* set default delimiters */}}
-{{ $delimiter_left := "$$" }}
-{{ $delimiter_right := "$$" }}
+{{ .Page.Store.Set "hasKaTeX" true -}}
-{{/* override delimiters if set in config file */}}
-{{ with $.Page.Site.Params.katex.options.delimiters }}
- {{ range first 1 ( where . "display" true ) }}
- {{ $delimiter_left = index . "left" }}
- {{ $delimiter_right = index . "right" }}
- {{ end }}
-{{end}}
+{{/* set default delimiters */ -}}
+{{ $delimiter_left := "$$" -}}
+{{ $delimiter_right := "$$" -}}
+
+{{/* override delimiters if set in config file */ -}}
+{{ with $.Page.Site.Params.katex.options.delimiters -}}
+ {{ range first 1 ( where . "display" true ) -}}
+ {{ $delimiter_left = index . "left" -}}
+ {{ $delimiter_right = index . "right" -}}
+ {{ end -}}
+{{ end -}}
{{/* output of equation */}}
-{{ $delimiter_left }}
-{{ .Inner | safeHTML }}
-{{ $delimiter_right }}
+{{ $delimiter_left -}}
+{{ .Inner | safeHTML -}}
+{{ $delimiter_right }}
{{ "" -}}
\ No newline at end of file
diff --git a/layouts/partials/scripts.html b/layouts/partials/scripts.html
index f86ea4d96b..e225a0464a 100644
--- a/layouts/partials/scripts.html
+++ b/layouts/partials/scripts.html
@@ -1,10 +1,16 @@
+{{ $needKaTeX := or .Site.Params.katex.enable .Params.math .Params.chem -}}
+{{ $needmhchem := or .Site.Params.katex.mhchem.enable .Params.chem -}}
{{ $needmermaid := .Site.Params.mermaid.enable -}}
{{ if ge hugo.Version "0.93.0" -}}
{{ with .Site.Params.mermaid }}
{{ $needmermaid = true }}
{{ end }}
- {{ $needmermaid = or $needmermaid (.Page.Store.Get "hasmermaid") -}}
-{{ end }}
+ {{ $needmermaid = or $needmermaid (.Page.Store.Get "hasmermaid") -}}
+{{ else -}}
+ {{ if or $needKaTeX $needmhchem $needmermaid -}}
+ {{ warnf "Outdated Hugo version %s, consider upgrading to make full use of all theme features" hugo.Version }}
+ {{ end -}}
+{{ end -}}
{{ if .Site.Params.markmap.enable -}}