Подготовка к выполнению [#3]
parent
2f9fff60de
commit
7d3e770cdd
|
@ -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
|
||||
|
||||
|
||||
|
|
|
@ -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 %}
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
---
|
||||
title: Блоговая запись 2 в формате YAML
|
||||
template: blogpost
|
||||
content: Hello World! 2
|
||||
---
|
||||
|
|
Reference in New Issue