mirror of
https://github.com/loikein/hugo-tufte.git
synced 2024-12-24 14:29:44 +01:00
60 lines
2.3 KiB
HTML
60 lines
2.3 KiB
HTML
{{- $context := .context -}}
|
|
{{- $color := .color | default "" -}}
|
|
{{- $content := .content -}}
|
|
{{- $href := (trim .href " ") | default "" -}}
|
|
{{- $style := .style | default "default" -}}
|
|
{{- if and (not $color) (eq (len $color) 0) -}}
|
|
{{- $style = .style | default "transparent" -}}
|
|
{{- end -}}
|
|
{{- $target := .target | default "" -}}
|
|
{{- $type := .type | default "" -}}
|
|
{{- $isButton := false -}}
|
|
{{- if or (not $href) (strings.HasPrefix $href "javascript:") -}}
|
|
{{- $isButton = true -}}
|
|
{{- $href = substr $href (len "javascript:") -}}
|
|
{{- if not $type -}}
|
|
{{- $type = "button" -}}
|
|
{{- end -}}
|
|
{{- else if and (eq (len $target) 0) (or (strings.HasPrefix $href "http://") (strings.HasPrefix $href "https://") ) -}}
|
|
{{- $target = "_blank" -}}
|
|
{{- if isset $context.Site.Params "externallinktarget" -}}
|
|
{{- $target = $context.Site.Params.externalLinkTarget -}}
|
|
{{- end -}}
|
|
{{- end }}
|
|
{{- $title := .title | default ($content) | default ($style | T) -}}
|
|
{{- $title = trim $title " " -}}
|
|
{{- $icon := .icon | default "" -}}
|
|
{{- if and (not $icon) (eq (len $icon) 0) -}}
|
|
{{- if eq $style "info" -}}{{ $icon = default "info-circle" }}{{- end -}}
|
|
{{- if eq $style "warning" -}}{{ $icon = default "exclamation-triangle" }}{{- end -}}
|
|
{{- if eq $style "note" -}}{{ $icon = default "exclamation-circle" }}{{- end -}}
|
|
{{- if eq $style "tip" -}}{{ $icon = default "lightbulb" }}{{- end -}}
|
|
{{- end -}}
|
|
{{- $icon = trim $icon " " -}}
|
|
{{- $iconposition := .iconposition | default "left" -}}
|
|
{{- with $context -}}
|
|
<span class="btn {{ $style }}"{{ if $color }} style="--VARIABLE-BOX-color: {{ $color }};"{{ end }}>
|
|
|
|
{{ if $isButton -}}
|
|
<button{{ if $href }} onclick="{{ $href | safeJS }}"{{ end }}{{ if gt (len $type) 0 }} type="{{ $type }}"{{ end }}>
|
|
{{ else -}}
|
|
<a{{ if $href }} href="{{ $href }}"{{ if gt (len $target) 0 }} target="{{ $target }}"{{ end }}{{ end }}>
|
|
{{- end -}}
|
|
|
|
{{ if and $icon (eq $iconposition "left") -}}
|
|
<span class="icon">{{- $icon -}}</span>
|
|
{{- end -}}
|
|
{{- $title | safeHTML -}}
|
|
{{ if and $icon (eq $iconposition "right") -}}
|
|
<span class="icon">{{- $icon -}}</span>
|
|
{{- end -}}
|
|
|
|
{{ if $isButton -}}
|
|
</button>
|
|
{{ else -}}
|
|
</a>
|
|
{{ end -}}
|
|
</span>
|
|
{{- end -}}
|
|
|
|
{{/* https://github.com/McShelby/hugo-theme-relearn/blob/main/layouts/shortcodes/button.html */}}
|