2023-07-27 14:14:55 +00:00
|
|
|
{{- $page := .page }}
|
|
|
|
{{- if and (not $page) .context }}
|
|
|
|
{{- $page = .context }}
|
2024-09-14 23:23:35 +00:00
|
|
|
{{- warnf "%q: DEPRECATED parameter 'context' for shortcode 'mermaid' found, use 'page' instead; see https://mcshelby.github.io/hugo-theme-relearn/basics/releasenotes/5/#5180" $page.File.Filename }}
|
2023-07-27 14:14:55 +00:00
|
|
|
{{- end }}
|
2022-06-22 18:32:18 +00:00
|
|
|
{{- $content := .content }}
|
|
|
|
{{- $align := .align | default "center" }}
|
2023-07-27 14:14:55 +00:00
|
|
|
{{- $zoom := $page.Site.Params.mermaidZoom | default false }}
|
|
|
|
{{- with $page.Params.mermaidZoom }}
|
2023-02-05 10:13:03 +00:00
|
|
|
{{- $zoom = . }}
|
|
|
|
{{- if eq (printf "%T" .) "string" }}
|
|
|
|
{{- $zoom = (eq . "true") }}
|
|
|
|
{{- end }}
|
|
|
|
{{- end }}
|
|
|
|
{{- with .zoom }}
|
|
|
|
{{- $zoom = . }}
|
|
|
|
{{- if eq (printf "%T" .) "string" }}
|
|
|
|
{{- $zoom = (eq . "true") }}
|
|
|
|
{{- end }}
|
|
|
|
{{- end }}
|
2024-03-11 19:57:21 +00:00
|
|
|
|
|
|
|
{{- /* separate shortcode attributes from rest */}}
|
|
|
|
{{- $attributes := .attributes | default dict }}
|
|
|
|
{{- $otherAttributes := dict }}
|
|
|
|
{{- range $k, $v := $attributes }}
|
|
|
|
{{- if eq $k "align" }}
|
|
|
|
{{- else if eq $k "zoom" }}
|
|
|
|
{{- else }}
|
|
|
|
{{- $otherAttributes = (dict $k $v) | merge $otherAttributes }}
|
|
|
|
{{- end }}
|
|
|
|
{{- end }}
|
|
|
|
{{- $attributes = $otherAttributes }}
|
|
|
|
|
|
|
|
{{- /* enrich attributes */}}
|
|
|
|
{{- $attributes = merge $attributes (dict "class" (delimit (append (index $attributes "class" | default slice) "mermaid" slice) " ")) }}
|
|
|
|
{{- $attributes = merge $attributes (dict "class" (delimit (append (index $attributes "class" | default slice) (printf "align-%s" $align) slice) " ")) }}
|
|
|
|
{{- $attributes = merge $attributes (dict "class" (delimit (append (index $attributes "class" | default slice) (printf "%s" (cond $zoom "zoomable" "")) slice) " ")) }}
|
|
|
|
|
2024-09-05 18:02:38 +00:00
|
|
|
{{- with $page -}}
|
2024-03-11 19:57:21 +00:00
|
|
|
<pre
|
|
|
|
{{- range $k, $v := $attributes }}
|
|
|
|
{{- if $v }}
|
|
|
|
{{- printf " %s=%q" $k $v | safeHTMLAttr }}
|
|
|
|
{{- end }}
|
|
|
|
{{- end }}>{{ replaceRE "'" "'" ( replaceRE """ "\"" ( $content | safeHTML ) ) }}</pre>
|
2023-05-18 12:01:50 +00:00
|
|
|
{{- .Store.Set "hasMermaid" true }}
|
2022-06-22 18:32:18 +00:00
|
|
|
{{- end }}
|