project widget: Fix filter for case where tag is not CSS class name

Fix #660
This commit is contained in:
George Cushen committed 2018-09-07 01:02:16 +01:00
1 parent 099a13b688
commit 3eb8be428b
1 file changed
+13 -4
+13 -4
View File
@@ -10,19 +10,28 @@
<div class="col-xs-12 col-md-8">
{{ with $page.Content }}<p>{{ . | markdownify }}</p>{{ end }}
{{ if $page.Params.filter }}
{{ $filter_default := default (int $page.Params.filter_default) 0 }}
{{ with $page.Params.filter }}
<span class="hidden default-project-filter">{{ (index $page.Params.filter ($filter_default)).tag }}</span>
{{/* 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" }}
<span class="hidden default-project-filter">{{ $default_filter_tag }}</span>
{{/* Only show filter buttons if there are multiple filters. */}}
{{ if gt (len $page.Params.filter) 1 }}
<div class="project-toolbar">
<div class="project-filters">
<div class="btn-toolbar">
<div class="btn-group">
{{ 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)) }}