cupper-hugo-theme/layouts/shortcodes/expandable.html

26 lines
1.1 KiB
HTML

<div class="expandable-section">
{{ if .Get "level" }}
<h{{ .Get "level" }}>
{{ end }}
{{/* 1. Get the md5 hash of the expandable inner text */}}
{{/* 2. Split the hash string into an array */}}
{{/* 3. Shuffle the array */}}
{{/* 4. Convert the array back into a string */}}
{{ $random := delimit (shuffle (split (md5 .Inner) "" )) "" }}
<button aria-expanded="{{ with .Get "open" }}true{{ else }}false{{ end }}" data-expands="js-expandable-{{ $random }}">
<span class="expandable-label">{{ .Get "label" | default "More info" }}</span>
<svg aria-hidden="true" focusable="false" viewBox="0 0 70.866142 70.866141">
<g transform="translate(0 -981.5)">
<rect style="stroke-width:0;fill:currentColor" ry="5" height="60" width="9.8985" y="987.36" x="30.051" class="up-strut" />
<rect style="stroke-width:0;fill:currentColor" ry="5" height="10" width="60" y="1012.4" x="5"/>
</g>
</svg>
</button>
{{ if .Get "level" }}
</h{{ .Get "level"}}>
{{ end }}
<div id="js-expandable-{{ $random }}" {{ with .Get "open" | not }}hidden{{ end }}>
{{ .Inner | markdownify }}
</div>
</div>