mirror of
https://github.com/tiennm99/HugoBlox-kit.git
synced 2026-10-12 20:15:25 +00:00
feat: add folder filter to Pages widget
New front matter key: `content.filters.folders`
This commit is contained in:
1 parent
0a09b435e3
commit
611b5215c3
2 files changed
+31
-18
No files matched your search
@@ -53,8 +53,8 @@
|
||||
{{ if $bg.image }}
|
||||
{{/* See Hugo note on linking assets in styles: https://github.com/gohugoio/hugoThemes#common-permalink-issues */}}
|
||||
{{ $bg_img := resources.Get (printf "media/%s" $bg.image) }}
|
||||
{{ $bg_img = $bg_img.Fit "1920x1920 webp" }}
|
||||
{{ if $bg_img }}
|
||||
{{ $bg_img = $bg_img.Fit "1920x1920 webp" }}
|
||||
{{ $style_bg = printf "%sbackground-image: url('%s');" $style_bg $bg_img.Permalink }}
|
||||
{{ else }}
|
||||
{{ errorf "Couldn't find `%s` in the `assets/media/` folder - please add it." $bg.image }}
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
{{/* Pages Widget */}}
|
||||
{{/* https://wowchemy.com/docs/widget/ */}}
|
||||
|
||||
{{/* Initialise */}}
|
||||
{{ $ := .root }}
|
||||
{{ $st := .page }}
|
||||
{{ $items_type := $st.Params.content.page_type | default "post" }}
|
||||
|
||||
{{ $items_offset := $st.Params.content.offset | default 0 }}
|
||||
{{ $items_count := $st.Params.content.count }}
|
||||
{{ if eq $items_count 0 }}
|
||||
@@ -14,10 +15,21 @@
|
||||
{{ $items_sort := $st.Params.content.order | default "desc" }}
|
||||
|
||||
{{/* Query */}}
|
||||
{{ $query := where site.RegularPages "Type" $items_type }}
|
||||
{{ $archive_page := site.GetPage "Section" $items_type }}
|
||||
{{ $query := site.RegularPages }}
|
||||
{{ $archive_page := "" }}
|
||||
|
||||
{{/* Filters */}}
|
||||
{{ if $st.Params.content.page_type }}
|
||||
{{ $query = where $query "Type" $st.Params.content.page_type }}
|
||||
{{ $archive_page = site.GetPage "Section" $st.Params.content.page_type }}
|
||||
{{ end }}
|
||||
{{ if $st.Params.content.filters.folders }}
|
||||
{{ $folders := $st.Params.content.filters.folders }}
|
||||
{{ $query = where $query "Section" "in" $folders }}
|
||||
{{/* Init archive page to main folder */}}
|
||||
{{ $main_folder := index $folders 0 }}
|
||||
{{ $archive_page = site.GetPage "Section" $main_folder }}
|
||||
{{ end }}
|
||||
{{ if $st.Params.content.filters.tag }}
|
||||
{{ $archive_page = site.GetPage (printf "tags/%s" (urlize $st.Params.content.filters.tag)) }}
|
||||
{{ $query = $query | intersect $archive_page.Pages }}
|
||||
@@ -57,31 +69,19 @@
|
||||
{{ $query = first $items_count $query }}
|
||||
{{ end }}
|
||||
|
||||
{{/* Localisation */}}
|
||||
{{ $i18n := "" }}
|
||||
{{ if eq $items_type "post" }}
|
||||
{{ $i18n = "more_posts" }}
|
||||
{{ else if eq $items_type "event" }}
|
||||
{{ $i18n = "more_talks" }}
|
||||
{{ else if eq $items_type "publication" }}
|
||||
{{ $i18n = "more_publications" }}
|
||||
{{ else }}
|
||||
{{ $i18n = "more_pages" }}
|
||||
{{ end }}
|
||||
|
||||
{{ $columns := $st.Params.design.columns | default "2" }}
|
||||
|
||||
<div class="col-12 {{if eq $columns "2"}}col-lg-8{{end}}">
|
||||
|
||||
{{ with $st.Content }}{{ . }}{{ end }}
|
||||
|
||||
{{ range $index, $post := $query }}
|
||||
{{ range $index, $item := $query }}
|
||||
{{ partial "functions/render_view" (dict "page" $st "item" . "view" ($st.Params.design.view | default "compact") "index" $index) }}
|
||||
{{end}}
|
||||
|
||||
{{/* Archive link */}}
|
||||
{{ $show_archive_link := $st.Params.content.archive.enable | default (gt $count $items_count) }}
|
||||
{{ if $show_archive_link }}
|
||||
{{ if $show_archive_link | and $archive_page }}
|
||||
|
||||
{{ $archive_link := "" }}
|
||||
{{ if $st.Params.content.archive.link }}
|
||||
@@ -90,6 +90,19 @@
|
||||
{{ $archive_link = $archive_page.RelPermalink }}
|
||||
{{ end }}
|
||||
|
||||
{{/* Localisation */}}
|
||||
{{ $items_type := $archive_page.Type }}
|
||||
{{ $i18n := "" }}
|
||||
{{ if eq $items_type "post" }}
|
||||
{{ $i18n = "more_posts" }}
|
||||
{{ else if eq $items_type "event" }}
|
||||
{{ $i18n = "more_talks" }}
|
||||
{{ else if eq $items_type "publication" }}
|
||||
{{ $i18n = "more_publications" }}
|
||||
{{ else }}
|
||||
{{ $i18n = "more_pages" }}
|
||||
{{ end }}
|
||||
|
||||
{{ $archive_text := $st.Params.content.archive.text | default (i18n $i18n) | default "See all" }}
|
||||
|
||||
<div class="see-all">
|
||||
|
||||
Reference in new issue
Block a user