mirror of
https://github.com/getpelican/pelican.git
synced 2025-10-15 20:28:56 +02:00
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 <mail@aravindavk.in>
This commit is contained in:
parent
cb11bea1f2
commit
879f30099d
2 changed files with 6 additions and 1 deletions
|
|
@ -288,7 +288,11 @@ class ArticlesGenerator(CachingGenerator):
|
||||||
|
|
||||||
if (self.settings.get('TAG_FEED_ATOM')
|
if (self.settings.get('TAG_FEED_ATOM')
|
||||||
or self.settings.get('TAG_FEED_RSS')):
|
or self.settings.get('TAG_FEED_RSS')):
|
||||||
|
tags_filter = self.settings.get('TAGS_FOR_FEED')
|
||||||
for tag, arts in self.tags.items():
|
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)
|
arts.sort(key=attrgetter('date'), reverse=True)
|
||||||
if self.settings.get('TAG_FEED_ATOM'):
|
if self.settings.get('TAG_FEED_ATOM'):
|
||||||
writer.write_feed(arts, self.context,
|
writer.write_feed(arts, self.context,
|
||||||
|
|
|
||||||
|
|
@ -130,6 +130,7 @@ DEFAULT_CONFIG = {
|
||||||
'LOAD_CONTENT_CACHE': True,
|
'LOAD_CONTENT_CACHE': True,
|
||||||
'AUTORELOAD_IGNORE_CACHE': False,
|
'AUTORELOAD_IGNORE_CACHE': False,
|
||||||
'WRITE_SELECTED': [],
|
'WRITE_SELECTED': [],
|
||||||
|
'TAGS_FOR_FEED': [],
|
||||||
}
|
}
|
||||||
|
|
||||||
PYGMENTS_RST_OPTIONS = None
|
PYGMENTS_RST_OPTIONS = None
|
||||||
|
|
@ -287,7 +288,7 @@ def configure_settings(settings):
|
||||||
'CATEGORY_FEED_ATOM', 'CATEGORY_FEED_RSS',
|
'CATEGORY_FEED_ATOM', 'CATEGORY_FEED_RSS',
|
||||||
'AUTHOR_FEED_ATOM', 'AUTHOR_FEED_RSS',
|
'AUTHOR_FEED_ATOM', 'AUTHOR_FEED_RSS',
|
||||||
'TAG_FEED_ATOM', 'TAG_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):
|
if any(settings.get(k) for k in feed_keys):
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue