themes/docsy/layouts/shortcodes/tab.html (19 lines of code) (raw):

<!-- Make sure that we are enclosed within a tabpane shortcode block --> {{ with $.Parent }} {{- if ne $.Parent.Name "tabpane" -}} {{- errorf "tab must be used within a tabpane block" -}} {{- end -}} {{- end -}} <!-- Prefill header if not given as parameter --> {{ $header := default (printf "Tab %v" ( add $.Ordinal 1)) (.Get "header") }} <!-- store all tab info in dict tab --> {{ $tab := dict "header" $header }} {{ with $.Get "lang" }} {{ $tab = merge $tab (dict "language" ($.Get "lang")) }} {{ end }} {{ with $.Get "highlight" }} {{ $tab = merge $tab (dict "highlight" ($.Get "highlight")) }} {{ end }} {{ with $.Inner }} <!-- Trim any leading and trailing newlines from .Inner, this avoids spurious lines during syntax highlighting --> {{ $tab = merge $tab (dict "content" (trim $.Inner "\n")) }} {{ end }} <!-- add dict tab to parent's scratchpad --> {{ with .Parent }} {{- $.Parent.Scratch.SetInMap "tabs" (printf "%v" $.Ordinal) $tab -}} {{ end }}