{{- $page := .page }} {{- if and (not $page) .context }} {{- $page = .context }} {{- warnf "%q: DEPRECATED parameter 'context' for shortcode 'tabs' found, use 'page' instead; see https://mcshelby.github.io/hugo-theme-relearn/introduction/releasenotes/5/#5-18-0" $page.File.Filename }} {{- end }} {{- $groupid := .groupid | default (partial "_relearn/makeRandomMd5.gotmpl" $page) | plainify | anchorize }} {{- $color := .color }} {{- $style := .style }} {{- $title := .title }} {{- $icon := .icon }} {{- $tabs := slice }} {{- range $tab := (.content | default slice) }} {{- if and (not $tab.title) $tab.name }} {{- warnf "%q: DEPRECATED parameter 'name' for shortcode 'tab' found, use 'title' instead; see https://mcshelby.github.io/hugo-theme-relearn/introduction/releasenotes/5/#5-16-0" $page.File.Filename }} {{- $tab = merge $tab (dict "title" .name) }} {{- end }} {{- with $tab }} {{- $color := .color | default $color | default "" }} {{- $content := trim .content "\n\r\t " }} {{- $hasContent := ne (strings.TrimLeft "<p>" $content) "" }} {{- if not (hasPrefix $content "<") }} {{- $content = printf "<p>\n%s" $content }} {{- end }} {{- $style := .style | default $style | default (cond (ne $color "") "filled" "initial") }} {{- $boxStyle := partial "_relearn/boxStyle.gotmpl" (dict "style" $style "title" .title "icon" .icon) }} {{- $title := trim ($boxStyle.title) " " }} {{- $icon := trim ($boxStyle.icon) " " }} {{- if and $icon (not (findRE ".*?\\bfa-\\w.*?" $icon)) }} {{- $icon = printf "fa-fw fas fa-%s" $icon }} {{- end }} {{- if $hasContent }} {{- $tabs = $tabs | append (dict "color" $color "content" $content "icon" $icon "itemid" (printf "%s%s" ($title | $page.RenderString | plainify | anchorize) ($icon | plainify | anchorize)) "style" $style "title" $title ) }} {{- end }} {{- end }} {{- end }} {{- $color = .color | default "" }} {{- $style = .style | default (cond (ne $color "") "filled" "initial") }} {{- $boxStyle := partial "_relearn/boxStyle.gotmpl" (dict "style" $style "title" .title "icon" .icon) }} {{- $title := trim ($boxStyle.title) " " }} {{- $icon := trim ($boxStyle.icon) " " }} {{- if and $icon (not (findRE ".*?\\bfa-\\w.*?" $icon)) }} {{- $icon = printf "fa-fw fas fa-%s" $icon }} {{- end }} {{- with $page }} {{- if len $tabs -}} <div class="tab-panel" data-tab-group="{{ $groupid }}"> <div class="tab-nav"> <div class="tab-nav-title">{{ if $icon }}<i class="{{ $icon }}"></i>{{ end }}{{ if and $icon $title }} {{ end }}{{ $title | $page.RenderString }}{{ if (not $title) }}​{{ end }}</div> {{- range $idx, $tab := $tabs }} <button data-tab-item="{{ .itemid }}" class="tab-nav-button tab-panel-style cstyle {{ .style }}{{ cond (eq $idx 0) " active" ""}}"{{ if .color }} style="--VARIABLE-BOX-color: {{ .color }};"{{ end }}{{ if eq $idx 0 }} tabindex="-1"{{ end }} onclick="switchTab('{{ $groupid }}','{{ .itemid }}')" > <span class="tab-nav-text">{{ if .icon }}<i class="{{ .icon }}"></i>{{ end }}{{ if and .icon .title }} {{ end }}{{ .title | $page.RenderString }}{{ if (not .title) }}​{{ end }}</span> </button> {{- end }} </div> <div class="tab-content-container"> {{- range $idx, $tab := $tabs }} <div data-tab-item="{{ .itemid }}" class="tab-content tab-panel-style cstyle {{ .style }}{{ cond (eq $idx 0) " active" ""}}"{{ if .color }} style="--VARIABLE-BOX-color: {{ .color }};"{{ end }}> <div class="tab-content-text"> {{ .content | safeHTML }} </div> </div> {{- end }} </div> </div> {{- end }} {{- end }}