{{- $basicTypes := slice "note" "tip" "important" "warning" "caution" -}} {{- if eq .AlertType "center" -}} {{- /* The "center" type is a special case for centering content. */ -}}
{{ .Text }}{{- else if .AlertTitle | or .AlertSign | or (.AlertType | in $basicTypes | not) -}} {{- /* The extended syntax is compatible with Obsidian and FixIt admonition shortcode. */ -}} {{- $openMap := dict "+" true "-" false -}} {{- $open := index $openMap .AlertSign | default true -}} {{- $foldable := ne .AlertSign "" -}} {{- dict "Type" .AlertType "Title" .AlertTitle "Open" $open "Text" .Text "Foldable" $foldable | partial "plugin/admonition.html" -}} {{- else -}} {{- /* The basic syntax is compatible with GitHub, Obsidian, and Typora. */ -}} {{- dict "Type" .AlertType "Text" .Text "Attributes" .Attributes | partial "plugin/alert.html" -}} {{- end -}}