From 3eb8be428b5598f60437d9aac07d42cc9ad837fd Mon Sep 17 00:00:00 2001 From: George Cushen Date: Fri, 7 Sep 2018 01:02:16 +0100 Subject: [PATCH] project widget: Fix filter for case where `tag` is not CSS class name Fix #660 --- layouts/partials/widgets/projects.html | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/layouts/partials/widgets/projects.html b/layouts/partials/widgets/projects.html index 54f3c3dc..3e9b233a 100644 --- a/layouts/partials/widgets/projects.html +++ b/layouts/partials/widgets/projects.html @@ -10,19 +10,28 @@
{{ with $page.Content }}

{{ . | markdownify }}

{{ end }} + {{ if $page.Params.filter }} + {{ $filter_default := default (int $page.Params.filter_default) 0 }} - {{ with $page.Params.filter }} - + + {{/* Parse default filter tag from front matter in the form of either tag name or CSS class name. */}} + {{ $default_filter_tag_raw := (index $page.Params.filter ($filter_default)).tag }} + {{ $default_filter_tag := printf ".%s" (urlize $default_filter_tag_raw) }} + {{ if or (eq (substr $default_filter_tag_raw 0 1) "*") (eq (substr $default_filter_tag_raw 0 1) ".") }} + {{ $default_filter_tag = $default_filter_tag_raw }} {{ end }} - {{ if isset $page.Params "filter" }} + + + {{/* Only show filter buttons if there are multiple filters. */}} {{ if gt (len $page.Params.filter) 1 }}
{{ range $idx, $item := $page.Params.filter }} - {{ if or (eq (substr .tag 0 1) "*") (eq (substr .tag 0 1) ".") }} + {{/* Parse filter tag from front matter in the form of either tag name or CSS class name. */}} + {{ if or (eq (substr .tag 0 1) "*") (eq (substr .tag 0 1) ".") }} {{ $.Scratch.Set "tag" .tag }} {{ else }} {{ $.Scratch.Set "tag" (printf ".%s" (urlize .tag)) }}