www.byjp.me/layouts/shortcodes/topclaps.gmi
JP Hastings-Spital d8d34a5e88 Bump Hugo version
2025-05-22 17:35:05 +01:00

25 lines
1.1 KiB
Text

{{- $count := .Get 0 | default 5 -}}
{{- $url := printf "https://%s" site.Params.clapsHost -}}
{{- $cacheKey := print $url (now.Format "-2006-01-02-15") -}}
{{- with try (resources.GetRemote $url (dict "key" $cacheKey)) -}}
{{- with .Err -}}
{{- errorf "Unable to get top claps: %v" . -}}
{{- else with .Value -}}
{{- $data := .Content | transform.Unmarshal -}}
{{- $claps := slice -}}
{{- range $path, $count := $data -}}
{{- $interactionCount := partial "interaction-count.obj" (site.GetPage $path) -}}
{{ $claps = $claps | append (dict "path" $path "count" (add $interactionCount $count)) }}
{{- end -}}
{{- range (sort $claps "count" "desc" | first $count) -}}
{{- $count := .count -}}
{{- with site.GetPage .path }}
=> {{.RelPermalink}} {{ with .Params.emoji }}{{ . }} {{ end}}{{ with .Title -}}{{ . }}{{ else }}{{ .Type | singularize | title }}{{ end }} ({{ $count }})
{{- end -}}
{{- end }}
{{- else -}}
{{- errorf "Unable to get top claps" -}}
{{- end -}}
{{- else -}}
{{- errorf "Unable to get all clap counts" -}}
{{- end -}}