From 879f30099def10ebec3785a6df9f9ccf4c2fc4c8 Mon Sep 17 00:00:00 2001 From: Aravinda VK Date: Fri, 5 Sep 2014 12:23:13 +0530 Subject: [PATCH] Additional filter for TAG feed generation New setting "TAGS_FOR_FEED" is introduced, default is [] If TAGS_FOR_FEED is set then it will generate feed only for those tags. Example usage TAGS_FOR_FEED = ["thats", "awesome"] Signed-off-by: Aravinda VK --- pelican/generators.py | 4 ++++ pelican/settings.py | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/pelican/generators.py b/pelican/generators.py index b877d43a..859b3d72 100644 --- a/pelican/generators.py +++ b/pelican/generators.py @@ -288,7 +288,11 @@ class ArticlesGenerator(CachingGenerator): if (self.settings.get('TAG_FEED_ATOM') or self.settings.get('TAG_FEED_RSS')): + tags_filter = self.settings.get('TAGS_FOR_FEED') for tag, arts in self.tags.items(): + if tags_filter and tag.slug not in tags_filter: + continue + arts.sort(key=attrgetter('date'), reverse=True) if self.settings.get('TAG_FEED_ATOM'): writer.write_feed(arts, self.context, diff --git a/pelican/settings.py b/pelican/settings.py index 560cbfb2..018a60ce 100644 --- a/pelican/settings.py +++ b/pelican/settings.py @@ -130,6 +130,7 @@ DEFAULT_CONFIG = { 'LOAD_CONTENT_CACHE': True, 'AUTORELOAD_IGNORE_CACHE': False, 'WRITE_SELECTED': [], + 'TAGS_FOR_FEED': [], } PYGMENTS_RST_OPTIONS = None @@ -287,7 +288,7 @@ def configure_settings(settings): 'CATEGORY_FEED_ATOM', 'CATEGORY_FEED_RSS', 'AUTHOR_FEED_ATOM', 'AUTHOR_FEED_RSS', 'TAG_FEED_ATOM', 'TAG_FEED_RSS', - 'TRANSLATION_FEED_ATOM', 'TRANSLATION_FEED_RSS', + 'TRANSLATION_FEED_ATOM', 'TRANSLATION_FEED_RSS', 'TAGS_FOR_FEED' ] if any(settings.get(k) for k in feed_keys):