changeset 1062:3ca4f367c752

sidebar: make the minimum tagcloud count configurable Instead of hardcoding the decision that a tag must have at least 2 posts for it to show up in the tag cloud, let the admin decide what is a good cutoff. Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
author Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
date Fri, 28 Aug 2020 03:30:45 +0000
parents 38c3ca0cea50
children 1e083700f98c
files config.c config.h.in lisplint.c sidebar.c
diffstat 4 files changed, 8 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/config.c	Mon Oct 12 11:51:13 2020 -0400
+++ b/config.c	Fri Aug 28 03:30:45 2020 +0000
@@ -153,6 +153,8 @@
 	config_load_url(lv, CONFIG_BUG_BASE_URL, &config.bug_base_url);
 	config_load_url(lv, CONFIG_WIKI_BASE_URL, &config.wiki_base_url);
 	config_load_url(lv, CONFIG_PHOTO_BASE_URL, &config.photo_base_url);
+	config_load_u64(lv, CONFIG_TAGCLOUD_MIN_COUNT, &config.tagcloud_min_count,
+			DEFAULT_TAGCLOUD_MIN_COUNT);
 	config_load_u64(lv, CONFIG_TAGCLOUD_MIN_SIZE, &config.tagcloud_min_size,
 			DEFAULT_TAGCLOUD_MIN_SIZE);
 	config_load_u64(lv, CONFIG_TAGCLOUD_MAX_SIZE, &config.tagcloud_max_size,
@@ -181,6 +183,7 @@
 	DBG("config.wiki_base_url = %s", str_cstr(config.wiki_base_url));
 	DBG("config.bug_base_url = %s", str_cstr(config.bug_base_url));
 	DBG("config.photo_base_url = %s", str_cstr(config.photo_base_url));
+	DBG("config.tagcloud_min_count = %"PRIu64, config.tagcloud_min_count);
 	DBG("config.tagcloud_min_size = %"PRIu64, config.tagcloud_min_size);
 	DBG("config.tagcloud_max_size = %"PRIu64, config.tagcloud_max_size);
 	DBG("config.twitter_username = %s", str_cstr(config.twitter_username));
--- a/config.h.in	Mon Oct 12 11:51:13 2020 -0400
+++ b/config.h.in	Fri Aug 28 03:30:45 2020 +0000
@@ -43,6 +43,7 @@
 
 #cmakedefine COND_STACK_DEPTH		${COND_STACK_DEPTH}
 
+#define DEFAULT_TAGCLOUD_MIN_COUNT	2
 #cmakedefine DEFAULT_TAGCLOUD_MIN_SIZE	${DEFAULT_TAGCLOUD_MIN_SIZE}
 #cmakedefine DEFAULT_TAGCLOUD_MAX_SIZE	${DEFAULT_TAGCLOUD_MAX_SIZE}
 
@@ -67,6 +68,7 @@
 #define CONFIG_BUG_BASE_URL		"bug-base-url"
 #define CONFIG_WIKI_BASE_URL		"wiki-base-url"
 #define CONFIG_PHOTO_BASE_URL		"photo-base-url"
+#define CONFIG_TAGCLOUD_MIN_COUNT	"tagcloud-min-count"
 #define CONFIG_TAGCLOUD_MIN_SIZE	"tagcloud-min-size"
 #define CONFIG_TAGCLOUD_MAX_SIZE	"tagcloud-max-size"
 #define CONFIG_TWITTER_USERNAME		"twitter-username"
@@ -95,6 +97,7 @@
 	struct str *bug_base_url;
 	struct str *wiki_base_url;
 	struct str *photo_base_url;
+	uint64_t tagcloud_min_count;
 	uint64_t tagcloud_min_size;
 	uint64_t tagcloud_max_size;
 	struct str *twitter_username;
--- a/lisplint.c	Mon Oct 12 11:51:13 2020 -0400
+++ b/lisplint.c	Fri Aug 28 03:30:45 2020 +0000
@@ -145,6 +145,7 @@
 	ret = check_type(fname, lv, CONFIG_BUG_BASE_URL, VT_STR, false) && ret;
 	ret = check_type(fname, lv, CONFIG_WIKI_BASE_URL, VT_STR, false) && ret;
 	ret = check_type(fname, lv, CONFIG_PHOTO_BASE_URL, VT_STR, false) && ret;
+	ret = check_type(fname, lv, CONFIG_TAGCLOUD_MIN_COUNT, VT_INT, false) && ret;
 	ret = check_type(fname, lv, CONFIG_TAGCLOUD_MIN_SIZE, VT_INT, false) && ret;
 	ret = check_type(fname, lv, CONFIG_TAGCLOUD_MAX_SIZE, VT_INT, false) && ret;
 	ret = check_type(fname, lv, CONFIG_CATEGORY_TO_TAG, VT_CONS, false) && ret;
--- a/sidebar.c	Mon Oct 12 11:51:13 2020 -0400
+++ b/sidebar.c	Fri Aug 28 03:30:45 2020 +0000
@@ -72,7 +72,7 @@
 	int ret;
 
 	/* skip the really boring tags */
-	if (count <= 1)
+	if (count < config.tagcloud_min_count)
 		return;
 
 	tmp = nvl_alloc();