From b06949eb2d8c8196527aab93fe92898fa56c9bc1 Mon Sep 17 00:00:00 2001 From: Klaas Demter Date: Mon, 2 Dec 2024 06:17:41 +0100 Subject: [PATCH] theme(fix): add show_recent_posts parameter to stop showing recent posts on index (#795) Closes #794 You can no longer set `recent_posts_number = 0` because in current hugo versions `{{ $n_posts := $.Param "recent_posts_number" | default 3 }}` will default to three if recent_posts_number is 0. This used to work a couple of versions back, I am assuming this is not a regression but rather wanted behavior in hugo -- so I introduce a new parameter (boolean) `show_recent_posts` to enable(default) or disable recent posts on index. --- config/_default/params.toml | 3 +++ layouts/index.html | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/config/_default/params.toml b/config/_default/params.toml index 4307428..33c3961 100644 --- a/config/_default/params.toml +++ b/config/_default/params.toml @@ -1,3 +1,6 @@ +[ananke] +show_recent_posts = true # show recent posts on the homepage + [ananke.social] icon_path = "ananke/socials/%s.svg" diff --git a/layouts/index.html b/layouts/index.html index 4b826a1..123cf3d 100644 --- a/layouts/index.html +++ b/layouts/index.html @@ -4,6 +4,7 @@ {{/* Define a section to pull recent posts from. For Hugo 0.20 this will default to the section with the most number of pages. */}} {{ $mainSections := .Site.Params.mainSections | default (slice "post") }} + {{ $show_recent_posts := site.Params.ananke.show_recent_posts }} {{/* Check to see if the section is defined for ranging through it */}} {{range ($mainSections)}} @@ -12,7 +13,7 @@ {{/* Create a variable with that section to use in multiple places. */}} {{ $section := where $.Site.RegularPages "Section" "in" $section_name }} {{ $section_count := len $section }} - {{ if ge $section_count 1 }} + {{ if and ($show_recent_posts) (ge $section_count 1) }}
{{/* Use $section_name to get the section title. Use "with" to only show it if it exists */}} {{ with $.Site.GetPage "section" $section_name }}