{{- /* A shortcode to create a callout. @param {string} type The type of the callout (default, info, warning, error). @param {string} content The content of the callout. @param {string} emoji The emoji of the callout (related to type or can be a custom emoji). @param {string} icon The icon of the callout. @example {{< callout type="info" >}}Content{{< /callout >}} */ -}} {{- $calloutEmojiDict := dict "info" "ℹ️" "warning" "⚠️" "error" "🚫" -}} {{- $type := .Get "type" | default "default" -}} {{/* If emoji is not set, use the emoji from dict */}} {{- $emoji := .Get "emoji" -}} {{- if eq $emoji "" -}} {{- $emoji = index $calloutEmojiDict $type -}} {{- end -}} {{/* Also allow using "icon" */}} {{- $icon := .Get "icon" -}} {{- $content := .InnerDeindent | markdownify -}} {{- $defaultClass := "hx:border-orange-100 hx:bg-orange-50 hx:text-orange-800 hx:dark:border-orange-400/30 hx:dark:bg-orange-400/20 hx:dark:text-orange-300" -}} {{- $styleClass := newScratch -}} {{- $styleClass.Set "info" "hx:border-blue-200 hx:bg-blue-100 hx:text-blue-900 hx:dark:border-blue-200/30 hx:dark:bg-blue-900/30 hx:dark:text-blue-200" -}} {{- $styleClass.Set "warning" "hx:border-yellow-100 hx:bg-yellow-50 hx:text-yellow-900 hx:dark:border-yellow-200/30 hx:dark:bg-yellow-700/30 hx:dark:text-yellow-200" -}} {{- $styleClass.Set "error" "hx:border-red-200 hx:bg-red-100 hx:text-red-900 hx:dark:border-red-200/30 hx:dark:bg-red-900/30 hx:dark:text-red-200" -}} {{- $class := or ($styleClass.Get $type) $defaultClass -}} {{- partial "shortcodes/callout.html" (dict "content" $content "emoji" $emoji "icon" $icon "class" $class) -}}