aboutsummaryrefslogtreecommitdiffstats
path: root/nikola/plugins/task/rss.py
diff options
context:
space:
mode:
Diffstat (limited to 'nikola/plugins/task/rss.py')
-rw-r--r--nikola/plugins/task/rss.py18
1 files changed, 12 insertions, 6 deletions
diff --git a/nikola/plugins/task/rss.py b/nikola/plugins/task/rss.py
index b16ed48..26a4da1 100644
--- a/nikola/plugins/task/rss.py
+++ b/nikola/plugins/task/rss.py
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
-# Copyright © 2012-2014 Roberto Alsina and others.
+# Copyright © 2012-2015 Roberto Alsina and others.
# Permission is hereby granted, free of charge, to any
# person obtaining a copy of this software and associated
@@ -51,6 +51,7 @@ class GenerateRSS(Task):
"filters": self.site.config["FILTERS"],
"blog_title": self.site.config["BLOG_TITLE"],
"site_url": self.site.config["SITE_URL"],
+ "base_url": self.site.config["BASE_URL"],
"blog_description": self.site.config["BLOG_DESCRIPTION"],
"output_folder": self.site.config["OUTPUT_FOLDER"],
"rss_teasers": self.site.config["RSS_TEASERS"],
@@ -59,6 +60,7 @@ class GenerateRSS(Task):
"feed_length": self.site.config['FEED_LENGTH'],
"tzinfo": self.site.tzinfo,
"rss_read_more_link": self.site.config["RSS_READ_MORE_LINK"],
+ "rss_links_append_query": self.site.config["RSS_LINKS_APPEND_QUERY"],
}
self.site.scan_posts()
# Check for any changes in the state of use_in_feeds for any post.
@@ -71,16 +73,18 @@ class GenerateRSS(Task):
output_name = os.path.join(kw['output_folder'],
self.site.path("rss", None, lang))
deps = []
+ deps_uptodate = []
if kw["show_untranslated_posts"]:
- posts = self.site.posts[:10]
+ posts = self.site.posts[:kw['feed_length']]
else:
- posts = [x for x in self.site.posts if x.is_translation_available(lang)][:10]
+ posts = [x for x in self.site.posts if x.is_translation_available(lang)][:kw['feed_length']]
for post in posts:
deps += post.deps(lang)
+ deps_uptodate += post.deps_uptodate(lang)
feed_url = urljoin(self.site.config['BASE_URL'], self.site.link("rss", None, lang).lstrip('/'))
- yield {
+ task = {
'basename': 'generate_rss',
'name': os.path.normpath(output_name),
'file_dep': deps,
@@ -88,12 +92,14 @@ class GenerateRSS(Task):
'actions': [(utils.generic_rss_renderer,
(lang, kw["blog_title"](lang), kw["site_url"],
kw["blog_description"](lang), posts, output_name,
- kw["rss_teasers"], kw["rss_plain"], kw['feed_length'], feed_url))],
+ kw["rss_teasers"], kw["rss_plain"], kw['feed_length'], feed_url,
+ None, kw["rss_links_append_query"]))],
'task_dep': ['render_posts'],
'clean': True,
- 'uptodate': [utils.config_changed(kw)],
+ 'uptodate': [utils.config_changed(kw, 'nikola.plugins.task.rss')] + deps_uptodate,
}
+ yield utils.apply_filters(task, kw['filters'])
def rss_path(self, name, lang):
return [_f for _f in [self.site.config['TRANSLATIONS'][lang],