{{/* Pages Widget */}} {{/* https://wowchemy.com/docs/widget/ */}} {{/* Initialise */}} {{ $ := .root }} {{ $st := .page }} {{ $items_offset := $st.Params.content.offset | default 0 }} {{ $items_count := $st.Params.content.count }} {{ if eq $items_count 0 }} {{ $items_count = 65535 }} {{ else }} {{ $items_count = $items_count | default 5 }} {{ end }} {{ $items_sort := $st.Params.content.order | default "desc" }} {{/* Query */}} {{ $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 }} {{ end }} {{ if $st.Params.content.filters.category }} {{ $archive_page = site.GetPage (printf "categories/%s" (urlize $st.Params.content.filters.category)) }} {{ $query = $query | intersect $archive_page.Pages }} {{ end }} {{ if $st.Params.content.filters.publication_type }} {{ $archive_page = site.GetPage (printf "publication_types/%s" $st.Params.content.filters.publication_type) }} {{ $query = $query | intersect $archive_page.Pages }} {{ end }} {{ if $st.Params.content.filters.author }} {{ $archive_page = site.GetPage (printf "authors/%s" (urlize $st.Params.content.filters.author)) }} {{ $query = $query | intersect $archive_page.Pages }} {{ end }} {{ if $st.Params.content.filters.exclude_featured }} {{ $query = where $query "Params.featured" "!=" true }} {{ end }} {{ if $st.Params.content.filters.exclude_past }} {{ $query = where $query "Date" ">=" now }} {{ end }} {{ if $st.Params.content.filters.exclude_future }} {{ $query = where $query "Date" "<" now }} {{ end }} {{ $count := len $query }} {{/* Sort */}} {{ $sort_by := "Date" }} {{ $query = sort $query $sort_by $items_sort }} {{/* Offset and Limit */}} {{ if gt $items_offset 0 }} {{ $query = first $items_count (after $items_offset $query) }} {{ else }} {{ $query = first $items_count $query }} {{ end }} {{ $columns := $st.Params.design.columns | default "2" }}
{{ with $st.Content }}{{ . }}{{ end }} {{ 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 | and $archive_page }} {{ $archive_link := "" }} {{ if $st.Params.content.archive.link }} {{ $archive_link = $st.Params.content.archive.link | relLangURL }} {{ else }} {{ $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" }}
{{ $archive_text | emojify }}
{{ end }}