Browse Source

talk widget: Add `exclude_selected` option to hide selected talks

Close #623
George Cushen 7 years ago
parent
commit
f1a32966f3
2 changed files with 10 additions and 1 deletions
  1. 2 0
      exampleSite/content/home/talks.md
  2. 8 1
      layouts/partials/widgets/talks.html

+ 2 - 0
exampleSite/content/home/talks.md

@@ -18,5 +18,7 @@ count = 10
 #   1 = Detailed
 list_format = 0
 
+# Exclude talks that are shown in the Selected Talks widget?
+exclude_selected = false
 +++
 

+ 8 - 1
layouts/partials/widgets/talks.html

@@ -19,7 +19,14 @@
   <div class="col-xs-12 col-md-8">
     {{ with $page.Content }}<p>{{ . | markdownify }}</p>{{ end }}
 
-    {{ range first $page.Params.count (sort (where $.Site.RegularPages "Type" "talk") ".Params.time_start" "desc") }}
+    {{ $.Scratch.Set "talks" (where $.Site.RegularPages "Type" "talk") }}
+
+    {{/* Exclude talks shown in Selected Talks widget? */}}
+    {{ if $page.Params.exclude_selected }}
+    {{ $.Scratch.Set "talks" (where ($.Scratch.Get "talks") ".Params.selected" "!=" true) }}
+    {{ end }}
+
+    {{ range first $page.Params.count (sort ($.Scratch.Get "talks") ".Params.time_start" "desc") }}
       {{ if eq $page.Params.list_format 1 }}
         {{ partial "talk_li_detailed" . }}
       {{ else }}