{{ $math := "" -}} {{ with .Get "inline" -}} {{/* Error checking */ -}} {{ if $.Inner -}} {{ errorf "%s: shortcode math with parameter 'inline' must not have inner content declared" $.Page.File.Path -}} {{ end -}} {{ if ne ( printf "%T" . ) "string" -}} {{ errorf "%s: shortcode math: parameter 'inline' must be a string" $.Page.File.Path -}} {{ end -}} {{ $math = . -}} {{ else -}} {{ with $.Get 0 -}} {{ if $.Inner -}} {{ errorf "%s: shortcode math for inline content must not have inner content declared" $.Page.File.Path -}} {{ end -}} {{ $math = $.Get 0 -}} {{ else }} {{ if .IsNamedParams}} {{ errorf "%s: shortcode math: Invalid named parameter(s) (%v) detected. Only named parameter 'inline' is allowed." $.Page.File.Path .Params -}} {{ end }} {{ end -}} {{ end -}} {{ if eq $math "" -}}
$${{- .Inner | safeHTML }}$$
{{ else -}} ${{- $math | safeHTML }}$ {{ end -}} {{ .Page.Store.Set "hasMath" true }}