diff options
| author | 2012-12-12 20:15:50 -0300 | |
|---|---|---|
| committer | 2012-12-12 20:15:50 -0300 | |
| commit | 540e6aa6fcd86a98e270715d1d4e49493eacc270 (patch) | |
| tree | ad1b1fcca82d9638f5edcf7a4d9149ca113ba2d2 /nikola/plugins/task_render_rss.py | |
| parent | 25744f4bf462020e353c503db3ec558604c19137 (diff) | |
| parent | 0f2c04e70a0ffdd0892d6970cafbcd952d221db5 (diff) | |
Merge tag 'upstream/5'
Upstream version 5
Diffstat (limited to 'nikola/plugins/task_render_rss.py')
| -rw-r--r-- | nikola/plugins/task_render_rss.py | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/nikola/plugins/task_render_rss.py b/nikola/plugins/task_render_rss.py new file mode 100644 index 0000000..bee1192 --- /dev/null +++ b/nikola/plugins/task_render_rss.py @@ -0,0 +1,41 @@ +import os + +from nikola import utils +from nikola.plugin_categories import Task + + +class RenderRSS(Task): + """Generate RSS feeds.""" + + name = "render_rss" + + def gen_tasks(self): + """Generate RSS feeds.""" + kw = { + "translations": self.site.config["TRANSLATIONS"], + "filters": self.site.config["FILTERS"], + "blog_title": self.site.config["BLOG_TITLE"], + "blog_url": self.site.config["BLOG_URL"], + "blog_description": self.site.config["BLOG_DESCRIPTION"], + "output_folder": self.site.config["OUTPUT_FOLDER"], + } + self.site.scan_posts() + # TODO: timeline is global, kill it + for lang in kw["translations"]: + output_name = os.path.join(kw['output_folder'], + self.site.path("rss", None, lang)) + deps = [] + posts = [x for x in self.site.timeline if x.use_in_feeds][:10] + for post in posts: + deps += post.deps(lang) + yield { + 'basename': 'render_rss', + 'name': output_name, + 'file_dep': deps, + 'targets': [output_name], + 'actions': [(utils.generic_rss_renderer, + (lang, kw["blog_title"], kw["blog_url"], + kw["blog_description"], posts, output_name))], + 'clean': True, + 'uptodate': [utils.config_changed(kw)], + } |
