Files
hinode/layouts/shortcodes/kbd.html
2023-08-31 13:34:23 +02:00

26 lines
1.2 KiB
HTML

<!--
Adds a keyboard input element. The shortcode supports the following arguments:
"title" Required title of the keyboard input. In shorthand notation, this is the first (and only) matched
argument.
"class" Optional class attributes of the keyboard input element.
"color" Optional theme color of the element, either "primary", "secondary" (default), "success",
"danger", "warning", "info", "light", "dark", "white", or "black".
-->
{{- $error := false -}}
{{- $title := "" -}}
{{- if .IsNamedParams }}{{ $title = .Get "title" }}{{ else }}{{ $title = .Get 0 }}{{ end }}
{{- $class := .Get "class" | default "" -}}
{{- $color := "" -}}
{{- with .Get "color" }}{{ $color = . }}{{ end -}}
{{- $supportedColors := slice "primary" "secondary" "success" "danger" "warning" "info" "light" "dark" "white" "black" -}}
{{- if and $color (not (in $supportedColors $color)) -}}
{{- errorf "Invalid value for param 'color': %s" .Position -}}
{{- end -}}
{{- if not $title }}
{{ errorf "Missing title: %s" .Position -}}
{{ else -}}
<kbd {{ if or $color $class }}class="{{ with $color }}text-bg-{{ . }}{{ end }}{{ with $class }} {{ . }}{{ end }}"{{ end }}>{{ $title | plainify }}</kbd>
{{ end -}}