2023-07-27 14:14:55 +00:00
{{- $page := .page }}
{{- if and (not $page) .context }}
{{- $page = .context }}
2023-11-20 23:53:33 +00:00
{{- warnf "%q: DEPRECATED parameter 'context' for shortcode 'notice' found, use 'page' instead; see https://mcshelby.github.io/hugo-theme-relearn/basics/migration#5180" $page.File.Filename }}
2023-07-27 14:14:55 +00:00
{{- end }}
2023-01-23 21:35:43 +00:00
{{- $color := .color | default "" }}
2022-06-22 18:32:18 +00:00
{{- $content := .content }}
2024-09-01 11:56:39 +00:00
{{- $hasContent := ne (trim $content " " ) "" }}
2022-06-22 18:32:18 +00:00
{{- $style := .style | default "default" }}
2023-10-02 23:28:24 +00:00
{{- $title := .title }}
{{- if not $title }}
2024-08-13 10:48:25 +00:00
{{- if eq $style "caution" }}{{ $title = $style | T }}{{ end }}
{{- if eq $style "important" }}{{ $title = $style | T }}{{ end }}
2023-10-02 23:28:24 +00:00
{{- if eq $style "info" }}{{ $title = $style | T }}{{ end }}
{{- if eq $style "note" }}{{ $title = $style | T }}{{ end }}
{{- if eq $style "tip" }}{{ $title = $style | T }}{{ end }}
2024-08-13 10:48:25 +00:00
{{- if eq $style "warning" }}{{ $title = $style | T }}{{ end }}
2023-10-02 23:28:24 +00:00
{{- end }}
2022-12-01 00:37:09 +00:00
{{- $title = trim $title " " }}
2022-06-22 18:32:18 +00:00
{{- $icon := .icon | default "" }}
{{- if and (not $icon) (eq (len $icon) 0) }}
2024-08-13 10:48:25 +00:00
{{- if eq $style "caution" }}{{ $icon = default "hand" }}{{ end }}
{{- if eq $style "important" }}{{ $icon = default "bolt" }}{{ end }}
2022-06-22 18:32:18 +00:00
{{- if eq $style "info" }}{{ $icon = default "info-circle" }}{{ end }}
{{- if eq $style "note" }}{{ $icon = default "exclamation-circle" }}{{ end }}
{{- if eq $style "tip" }}{{ $icon = default "lightbulb" }}{{ end }}
2024-08-13 10:48:25 +00:00
{{- if eq $style "warning" }}{{ $icon = default "exclamation-triangle" }}{{ end }}
2022-06-22 18:32:18 +00:00
{{- end }}
{{- $icon = trim $icon " " }}
{{- if and $icon (not (findRE ".*?\\bfa-\\w.*?" $icon)) }}
{{- $icon = printf "fa-fw fas fa-%s" $icon }}
{{- end }}
2024-09-01 11:56:39 +00:00
{{- $expander := false }}
{{- $expanded := .expanded | default "" }}
{{- if $hasContent }}
{{- if eq (printf "%T" $expanded) "string" }}
{{- if ne (trim $expanded " ") "" }}
{{- $expander = true }}
{{- $expanded = (eq $expanded "true") }}
{{- end }}
{{- else }}
{{- $expander = true }}
{{- end }}
{{- end }}
{{- $id := cond (or (eq .id nil) (eq .id "")) (partial "make-random-md5.hugo" $page) .id }}
2023-07-27 14:14:55 +00:00
{{- with $page }}
2024-09-01 11:56:39 +00:00
< div class = "{{ if $expander }}expand {{ end }}box notices cstyle {{ $style }}" { { if $ color } } style = "--VARIABLE-BOX-color: {{ $color }};" { { end } } >
{{- if $expander }}
< input type = "checkbox" id = "R-expand-{{ $id }}" aria-controls = "R-expandcontent-{{ $id }}" { { if $ expanded } } checked { { end } } >
< label class = "expand-label box-label" for = "R-expand-{{ $id }}" >
< i class = "expander-icon fa-fw fas fa-chevron-down" > < / i >
< i class = "expander-icon fa-fw fas fa-chevron-right" > < / i > {{ if $icon }}< i class = "{{ $icon }}" > < / i > {{ end }}{{ if and $icon $title }} {{ end }}{{ $title | .RenderString }}
< / label >
< div class = "box-spacer" > < / div >
{{- else }}
< div class = "box-label" >
{{ if $icon }}< i class = "{{ $icon }}" > < / i > {{ end }}{{ if and $icon $title }} {{ end }}{{ $title | .RenderString }}
< / div >
{{- end }}
{{- if $hasContent }}
< div { { if $ expander } } id = "R-expandcontent-{{ $id }}" { { end } } class = "{{ if $expander }}expand-content {{ end }}box-content" >
2024-09-01 18:37:58 +00:00
{{ if ne "< " (substr (strings.TrimLeft "\n\r\t " $content) 0 1) }}< p > {{ end }}<!-- we add a DOM element here if there is none to make collapsing marings work -->
2023-06-03 09:11:41 +00:00
{{ $content | safeHTML }}< / div > <!-- no line break allowed here because of awkward behavior of Hugo 110 or this theme when tag shortcode is called standalone outside of tags shortcode ? -->
2024-09-01 11:56:39 +00:00
{{- end }}
2022-06-22 18:32:18 +00:00
< / div >
{{- end }}