mirror of
https://github.com/tiennm99/HugoBlox-kit.git
synced 2026-10-13 14:15:47 +00:00
feat(widget): Tag Cloud: add taxonomy and font size options
Enables the widget to be used for categories etc. and not only tags. Also fix tag ordering by title rather than by count (d0ec05a). Fix #1267 Fixd0ec05a
This commit is contained in:
1 parent
d0ec05a65b
commit
c2650cc239
2 files changed
+21
-6
No files matched your search
@@ -9,6 +9,14 @@ title = "Popular Topics"
|
||||
subtitle = ""
|
||||
|
||||
[content]
|
||||
# Choose the taxonomy from `config.toml` to display (e.g. tags, categories)
|
||||
taxonomy = "tags"
|
||||
|
||||
# Choose how many tags you would like to display (0 = all tags)
|
||||
count = 20
|
||||
|
||||
[design]
|
||||
# Minimum and maximum font sizes (1.0 = 100%).
|
||||
font_size_min = 0.7
|
||||
font_size_max = 2.0
|
||||
+++
|
||||
@@ -1,5 +1,11 @@
|
||||
{{/* Pages Widget */}}
|
||||
|
||||
{{/* Initialise */}}
|
||||
{{ $ := .root }}
|
||||
{{ $st := .page }}
|
||||
{{ $taxonomy := $st.Params.content.taxonomy | default "tags" }}
|
||||
{{ $fontSmall := $st.Params.design.font_size_min | default 0.8 }}
|
||||
{{ $fontBig := $st.Params.design.font_size_max | default 2.5 }}
|
||||
|
||||
{{ $items_count := $st.Params.content.count }}
|
||||
{{ if eq $items_count 0 }}
|
||||
@@ -8,6 +14,10 @@
|
||||
{{ $items_count = $items_count | default 20 }}
|
||||
{{ end }}
|
||||
|
||||
{{/* Query */}}
|
||||
{{ $tags := first $items_count (index site.Taxonomies $taxonomy).ByCount }}
|
||||
{{ $count := len $tags }}
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12 col-lg-4 section-heading">
|
||||
<h1>{{ with $st.Title }}{{ . | markdownify | emojify }}{{ end }}</h1>
|
||||
@@ -16,10 +26,7 @@
|
||||
<div class="col-12 col-lg-8">
|
||||
{{ with $st.Content }}{{ . }}{{ end }}
|
||||
|
||||
{{ if not (eq (len site.Taxonomies.tags) 0) }}
|
||||
{{ $tags := first $items_count site.Taxonomies.tags.ByCount }}
|
||||
{{ $fontSmall := 0.8 }}
|
||||
{{ $fontBig := 2.5 }}
|
||||
{{ if ne $count 0 }}
|
||||
|
||||
{{ $fontDelta := sub $fontBig $fontSmall }}
|
||||
{{ $min := len (index ($tags).Reverse 0).Pages }}
|
||||
@@ -28,8 +35,8 @@
|
||||
{{ $fontStep := div $fontDelta $delta }}
|
||||
|
||||
<div class="tag-cloud">
|
||||
{{ range $name, $taxonomy := $tags }}
|
||||
{{ $tagCount := len $taxonomy.Pages }}
|
||||
{{ range $name, $term := (sort $tags ".Page.Title" "asc") }}
|
||||
{{ $tagCount := len $term.Pages }}
|
||||
{{ $weight := div (sub (math.Log $tagCount) (math.Log $min)) (sub (math.Log $max) (math.Log $min)) }}
|
||||
{{ $fontSize := add $fontSmall (mul (sub $fontBig $fontSmall) $weight) }}
|
||||
<a href="{{ .Page.RelPermalink }}" style="font-size:{{ $fontSize }}rem">{{ .Page.Title }}</a>
|
||||
|
||||
Reference in new issue
Block a user