| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 | {{/* Pages 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 }}  {{ $items_count = 65535 }}{{ else }}  {{ $items_count = $items_count | default 5 }}{{ end }}{{ $items_sort := $st.Params.content.order | default "desc" }}{{/* Query */}}{{ $query := where site.RegularPages "Type" $items_type }}{{ $archive_page := site.GetPage "Section" $items_type }}{{/* Filters */}}{{ 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 }}{{/* 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 }}    {{ 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 }}    {{ $archive_link := "" }}    {{ if $st.Params.content.archive.link }}      {{ $archive_link = $st.Params.content.archive.link | relLangURL }}    {{ else }}      {{ $archive_link = $archive_page.RelPermalink }}    {{ end }}    {{ $archive_text := $st.Params.content.archive.text | default (i18n $i18n) | default "See all" }}    <div class="see-all">      <a href="{{ $archive_link }}">        {{ $archive_text | emojify }}        <i class="fas fa-angle-right"></i>      </a>    </div>  {{ end }}</div>
 |