{{ range $key, $value := .Site.Data.question }} {{ $.Scratch.Add "questions" $value }} {{ end }} {{ $.Scratch.Set "activityCount" 0 }} {{ range $key, $value := ( $.Scratch.Get "questions" ) }} {{ range $question, $properties := $value }} {{ if not (in ($.Scratch.Get "spIndexes") $properties.security_practice ) }} {{ $.Scratch.Add "spIndexes" (slice $properties.security_practice) }} {{ end }} {{ if not (in ($.Scratch.Get ( print $properties.security_practice " Index")) (print $properties.security_practice " Stream " $properties.stream) ) }} {{ $.Scratch.Add (print $properties.security_practice " Index") (slice (print $properties.security_practice " Stream " $properties.stream)) }} {{ end }} {{ $maturity := $properties.maturity }} {{ $mname := print $properties.security_practice " Stream " $properties.stream " Maturity " $maturity }} {{ if not (in ($.Scratch.Get (print $properties.security_practice " Stream " $properties.stream " Index")) $mname ) }} {{ $.Scratch.Add (print $properties.security_practice " Stream " $properties.stream " Index") (slice $mname ) }} {{ $.Scratch.Set "activityCount" (add ( $.Scratch.Get "activityCount") 1) }} {{ end }} {{ $.Scratch.Add (print $mname " Index") (slice $value) }} {{ end }} {{ end }}

There are a total of {{ len ( $.Scratch.Get "questions" ) }} questions so far! Covering {{ $.Scratch.Get "activityCount" }}/90 activities!

{{ range $key, $sf := ( $.Scratch.Get "spIndexes" ) }}
{{ $sf }}
{{ range $key1, $stream := ( $.Scratch.Get (print $sf " Index") ) }} {{ end }}
{{ end }}