1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
{{ $filename := add (add "shortcodes/accordion-" (.Get "number")) ".json" }}
{{ with .Site.GetPage .Page.File.Path }}
{{ $resource := (.Resources.GetMatch $filename).RelPermalink }}
{{ $fields := getJSON "content" $resource }}
<div class="accordion" id="accordionExample">
{{$counter := 0}}
{{ range $fields}}
{{ $heading := add "heading" (string $counter) }}
{{ $collapse := add "collapse" (string $counter) }}
<div class="accordion-item">
<div class="accordion-header" id="{{$heading}}">
<a class="accordion-button collapsed" role="button" data-bs-toggle="collapse" data-bs-target="#{{$collapse}}" aria-expanded="false" aria-controls="{{$collapse}}">
{{ .title }}
</a>
</div>
<div id="{{$collapse}}" class="accordion-collapse collapse" aria-labelledby="{{$heading}}" data-bs-parent="#accordionExample">
<div class="accordion-body">
{{ if reflect.IsSlice .content }}
{{ range .content }}
<p>{{ . }}</p>
{{ end }}
{{ else }}
{{ .content }}
{{ end }}
</div>
</div>
</div>
{{$counter = add $counter 1}}
{{ end }}
</div>
{{end}}