From 7d3e770cddbd7cf4b60e890cb1a828d19d534ad4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BD=D1=82=D0=BE=D0=BD=20=D0=9A=D0=B0=D1=81=D0=B8?= =?UTF-8?q?=D0=BC=D0=BE=D0=B2?= Date: Sat, 23 Feb 2019 17:49:02 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=BE=D0=B4=D0=B3=D0=BE=D1=82=D0=BE?= =?UTF-8?q?=D0=B2=D0=BA=D0=B0=20=D0=BA=20=D0=B2=D1=8B=D0=BF=D0=BE=D0=BB?= =?UTF-8?q?=D0=BD=D0=B5=D0=BD=D0=B8=D1=8E=20[#3]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- flatfilecms/models.py | 10 ++++++---- flatfilecms/templates/blogposts.jinja2 | 5 +++++ tests/pages/blogpost2.yaml | 2 -- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/flatfilecms/models.py b/flatfilecms/models.py index 88ee93e..744a84a 100644 --- a/flatfilecms/models.py +++ b/flatfilecms/models.py @@ -72,10 +72,7 @@ class Folder(dict): self.name = name self.parent = parent if parent is not None: - self.url = "f{parent.url}/{name}" self.data_path = parent.data_path - else: - self.url = '' for entry in AssetResolver().resolve(path).listdir(): asset = f"{path}/{entry}" if AssetResolver().resolve(asset).isdir(): @@ -103,13 +100,18 @@ class Folder(dict): path = PurePath(asset) self[path.name] = Folder(path.name, self, asset) + def walk(self): + for item in self.values(): + yield item + if isinstance(item, Folder): + yield from item.walk() + class Document(object): def __init__(self, name, parent, path): self.name = name self.parent = parent self.path = path - self.url = f"{parent.url}/{name}" self.data_path = parent.data_path diff --git a/flatfilecms/templates/blogposts.jinja2 b/flatfilecms/templates/blogposts.jinja2 index ce6678e..68d61d5 100644 --- a/flatfilecms/templates/blogposts.jinja2 +++ b/flatfilecms/templates/blogposts.jinja2 @@ -1,2 +1,7 @@ {% extends "layout.jinja2" %} {% if header_class is not defined %}{% set header_class="light" %}{%endif%} +{% block content %} +{% for item in request.root.walk()|selectattr("page") if item.page[] %} +{{ item }} +{% endfor %} +{% endblock %} diff --git a/tests/pages/blogpost2.yaml b/tests/pages/blogpost2.yaml index a430972..83fbf9b 100644 --- a/tests/pages/blogpost2.yaml +++ b/tests/pages/blogpost2.yaml @@ -1,5 +1,3 @@ ---- title: Блоговая запись 2 в формате YAML template: blogpost content: Hello World! 2 ----