diff --git a/wowchemy/layouts/partials/widgets/portfolio.html b/wowchemy/layouts/partials/widgets/portfolio.html index 59f95a24..2acca632 100644 --- a/wowchemy/layouts/partials/widgets/portfolio.html +++ b/wowchemy/layouts/partials/widgets/portfolio.html @@ -3,7 +3,6 @@ {{/* Initialise */}} {{ $ := .root }} {{ $st := .page }} -{{ $items_type := $st.Params.content.page_type | default "project" }} {{ $columns := $st.Params.design.columns | default "2" }} {{ $view := $st.Params.design.view | default "masonry" }} @@ -47,12 +46,26 @@
- {{ $query := "" }} - {{ if $st.Params.content.filters.tags }} - {{ $query = where site.Pages "Params.tags" "intersect" $st.Params.content.filters.tags }} - {{ else }} - {{ $query = where site.RegularPages "Type" $items_type }} + {{/* Query */}} + {{ $query := site.RegularPages }} + + {{/* Filters */}} + {{ with $st.Params.content.page_type }} + {{/* Legacy filter, superseded by `filters.folders` */}} + {{ $query = where $query "Type" . }} {{ end }} + {{ with $st.Params.content.filters.folders }} + {{ $query = where $query "Section" "in" . }} + {{ end }} + {{ with $st.Params.content.filters.tags }} + {{ $query = where $query "Params.tags" "intersect" . }} + {{ end }} + + {{/* Sort */}} + {{ $sort_by := $st.Params.content.sort_by | default "Date" }} + {{ $sort_ascending := $st.Params.content.sort_ascending | default (eq $st.Params.content.order "asc") | default false }} + {{ $sort_order := cond $sort_ascending "asc" "desc" }} + {{ $query = sort $query $sort_by $sort_order }} {{ range $index, $item := $query }} {{ $js_tag_classes := delimit (apply (apply $item.Params.tags "replace" "." " " "-") "printf" "js-id-%s" ".") " " }}