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 %}
+