diff options
Diffstat (limited to 'layouts')
-rw-r--r-- | layouts/shortcodes/expand.html | 12 | ||||
-rw-r--r-- | layouts/shortcodes/tab.html | 12 | ||||
-rw-r--r-- | layouts/shortcodes/tabs.html | 19 |
3 files changed, 43 insertions, 0 deletions
diff --git a/layouts/shortcodes/expand.html b/layouts/shortcodes/expand.html new file mode 100644 index 0000000..049fdd1 --- /dev/null +++ b/layouts/shortcodes/expand.html @@ -0,0 +1,12 @@ +<div class="book-expand"> + <label> + <div class="book-expand-head flex justify-between"> + <span>{{ default "Expand" (.Get 0) }}</span> + <span>{{ default "↕" (.Get 1) }}</span> + </div> + <input type="checkbox" style="display: none" /> + <div class="book-expand-content markdown-inner"> + {{- .Inner | markdownify -}} + </div> + </label> +</div> diff --git a/layouts/shortcodes/tab.html b/layouts/shortcodes/tab.html new file mode 100644 index 0000000..24520e7 --- /dev/null +++ b/layouts/shortcodes/tab.html @@ -0,0 +1,12 @@ +{{ if .Parent }} + {{ $name := .Get 0 }} + {{ $group := printf "tabs-%s" (.Parent.Get 0) }} + + {{ if not (.Parent.Scratch.Get $group) }} + {{ .Parent.Scratch.Set $group slice }} + {{ end }} + + {{ .Parent.Scratch.Add $group (dict "Name" $name "Content" .Inner) }} +{{ else }} + {{- errorf "%q: tab shortcode must be inside tabs shortcode" .Page.Path -}} +{{ end}} diff --git a/layouts/shortcodes/tabs.html b/layouts/shortcodes/tabs.html new file mode 100644 index 0000000..65c1f02 --- /dev/null +++ b/layouts/shortcodes/tabs.html @@ -0,0 +1,19 @@ +{{ if .Inner }}{{ end }} +{{ $id := .Get 0 }} +{{ $group := printf "tabs-%s" $id }} + +<div class="book-tabs"> + <div class="book-tabs-head"> + {{ range $index, $tab := .Scratch.Get $group}} + <label for="{{ printf "%s-%d" $group $index }}"> + <span>{{ $tab.Name }}</span> + </label> + {{ end }} + </div> + {{ range $index, $tab := .Scratch.Get $group}} + <input type="radio" name="{{ $group }}" style="display: none;" id="{{ printf "%s-%d" $group $index }}" {{ if not $index }}checked="checked"{{ end }} /> + <div class="book-tabs-content markdown-inner"> + <span>{{ .Content | markdownify }}</span> + </div> + {{ end }} +</div> |