Files
site/themes/minimo/layouts/partials/extras/taxonomy_cloud.html
2021-09-06 13:02:12 -04:00

43 lines
1.4 KiB
HTML

{{- $Scope := .Scope -}}
{{- $Site := $Scope.Site -}}
{{- $Scratch := $Scope.Scratch -}}
{{- $Shuffle := ( .Shuffle | default true ) -}}
{{- $TaxonomyPage := ( $Site.GetPage ( print "/" .Taxonomy ) ) -}}
{{- $Data := $TaxonomyPage.Data -}}
<div class='container list-container'>
<ul class='list taxonomy-cloud {{- if not $Shuffle }} no-shuffle {{- end -}}'>
{{- if gt ( len $Data.Terms ) 0 -}}
{{- $maxSize := 2.0 -}}
{{- $minSize := 1.0 -}}
{{- $sizeSpread := ( sub $maxSize $minSize ) -}}
{{- $maxCount := ( index $Data.Terms.ByCount 0 ).Count -}}
{{- $minCount := ( index $Data.Terms.ByCount.Reverse 0 ).Count -}}
{{- $countSpread := ( sub $maxCount $minCount ) -}}
{{- $Scratch.Set "sizeStep" 0 -}}
{{- if gt $countSpread 0 -}}
{{- $Scratch.Set "sizeStep" ( div $sizeSpread $countSpread ) -}}
{{- end -}}
{{- range $Data.Terms.Alphabetical -}}
{{- $count := .Count -}}
{{- $sizeStep := ( $Scratch.Get "sizeStep" ) -}}
{{- $size := ( add $minSize ( mul $sizeStep ( sub $count $minCount ) ) ) -}}
<li>
<a href='{{ .Page.RelPermalink }}' style='font-size:{{ $size }}em'>
{{- .Page.Title -}}
</a>
</li>
{{- end -}}
{{- else -}}
<span>
{{- $term := ( ( ( i18n $Data.Singular 1 ) | default $Data.Singular ) ) -}}
{{- i18n "noTerm" ( dict "Term" $term ) -}}
</span>
{{- end -}}
</ul>
</div>