diff --git a/prosopopee/prosopopee.py b/prosopopee/prosopopee.py index 7973bcc..5d648b5 100644 --- a/prosopopee/prosopopee.py +++ b/prosopopee/prosopopee.py @@ -324,6 +324,7 @@ def build_gallery(gallery, settings, templates, parent_galleries=False): ) build_index(settings, sub_page_galleries_cover, subgallery_templates, gallery_path) + gallery_cover['sub_gallery'] = sub_page_galleries_cover return gallery_cover # this should probably be a factory @@ -403,7 +404,7 @@ def main(): "themes", "exposure", "templates")) templates = Environment(loader=FileSystemLoader(templates_dir)) - + templates.add_extension('jinja2.ext.with_') feed_template = templates.get_template("feed.xml") # XXX recursively merge directories @@ -424,7 +425,7 @@ def main(): feed_xml.write(feed_template.render( settings=settings, - galleries=reversed(sorted(front_page_galleries_cover, key=lambda x: x["date"])) + galleries=reversed(sorted(filter(lambda x: x != {}, front_page_galleries_cover), key=lambda x: x["date"])) ).encode("Utf-8")) build_index(settings, front_page_galleries_cover, templates) diff --git a/prosopopee/themes/exposure/templates/feed.xml b/prosopopee/themes/exposure/templates/feed.xml index 0d685fe..8bc193c 100644 --- a/prosopopee/themes/exposure/templates/feed.xml +++ b/prosopopee/themes/exposure/templates/feed.xml @@ -5,19 +5,9 @@ {{ settings.sub_title }} {{ settings.url }} - - {% for gallery in galleries %} - {% set absolute_url = settings.url + "/" + gallery.link -%} - - {{ gallery.title }} - {{ absolute_url }} - {{ gallery.link }} - {% if gallery.sub_title -%} - {{ gallery.sub_title }} - {% endif -%} - {{ gallery.date }} - - {% endfor %} - + {% for gallery in galleries %} + {% set absolute_url = settings.url + "/" %} + {% include "item.html" %} + {% endfor %} diff --git a/prosopopee/themes/exposure/templates/item.html b/prosopopee/themes/exposure/templates/item.html new file mode 100644 index 0000000..7696dd4 --- /dev/null +++ b/prosopopee/themes/exposure/templates/item.html @@ -0,0 +1,16 @@ +{% set absolute_url = absolute_url+ gallery.link+"/" -%} + + {{ gallery.title }} + {{ absolute_url }} + {{ gallery.link }} + {% if gallery.sub_title -%} + {{ gallery.sub_title }} + {% endif -%} + {{ gallery.date }} + +{% for sub_gallery in gallery.sub_gallery %} + {% with gallery=sub_gallery %} + {% include "item.html" %} + {% endwith %} +{% endfor %} + diff --git a/prosopopee/themes/material/templates/feed.xml b/prosopopee/themes/material/templates/feed.xml index 0d685fe..8bc193c 100644 --- a/prosopopee/themes/material/templates/feed.xml +++ b/prosopopee/themes/material/templates/feed.xml @@ -5,19 +5,9 @@ {{ settings.sub_title }} {{ settings.url }} - - {% for gallery in galleries %} - {% set absolute_url = settings.url + "/" + gallery.link -%} - - {{ gallery.title }} - {{ absolute_url }} - {{ gallery.link }} - {% if gallery.sub_title -%} - {{ gallery.sub_title }} - {% endif -%} - {{ gallery.date }} - - {% endfor %} - + {% for gallery in galleries %} + {% set absolute_url = settings.url + "/" %} + {% include "item.html" %} + {% endfor %} diff --git a/prosopopee/themes/material/templates/item.html b/prosopopee/themes/material/templates/item.html new file mode 100644 index 0000000..7696dd4 --- /dev/null +++ b/prosopopee/themes/material/templates/item.html @@ -0,0 +1,16 @@ +{% set absolute_url = absolute_url+ gallery.link+"/" -%} + + {{ gallery.title }} + {{ absolute_url }} + {{ gallery.link }} + {% if gallery.sub_title -%} + {{ gallery.sub_title }} + {% endif -%} + {{ gallery.date }} + +{% for sub_gallery in gallery.sub_gallery %} + {% with gallery=sub_gallery %} + {% include "item.html" %} + {% endwith %} +{% endfor %} +