Подготовка к выполнению [#3]
parent
2f9fff60de
commit
7d3e770cdd
|
@ -72,10 +72,7 @@ class Folder(dict):
|
||||||
self.name = name
|
self.name = name
|
||||||
self.parent = parent
|
self.parent = parent
|
||||||
if parent is not None:
|
if parent is not None:
|
||||||
self.url = "f{parent.url}/{name}"
|
|
||||||
self.data_path = parent.data_path
|
self.data_path = parent.data_path
|
||||||
else:
|
|
||||||
self.url = ''
|
|
||||||
for entry in AssetResolver().resolve(path).listdir():
|
for entry in AssetResolver().resolve(path).listdir():
|
||||||
asset = f"{path}/{entry}"
|
asset = f"{path}/{entry}"
|
||||||
if AssetResolver().resolve(asset).isdir():
|
if AssetResolver().resolve(asset).isdir():
|
||||||
|
@ -103,13 +100,18 @@ class Folder(dict):
|
||||||
path = PurePath(asset)
|
path = PurePath(asset)
|
||||||
self[path.name] = Folder(path.name, self, 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):
|
class Document(object):
|
||||||
def __init__(self, name, parent, path):
|
def __init__(self, name, parent, path):
|
||||||
self.name = name
|
self.name = name
|
||||||
self.parent = parent
|
self.parent = parent
|
||||||
self.path = path
|
self.path = path
|
||||||
self.url = f"{parent.url}/{name}"
|
|
||||||
self.data_path = parent.data_path
|
self.data_path = parent.data_path
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,2 +1,7 @@
|
||||||
{% extends "layout.jinja2" %}
|
{% extends "layout.jinja2" %}
|
||||||
{% if header_class is not defined %}{% set header_class="light" %}{%endif%}
|
{% 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
|
title: Блоговая запись 2 в формате YAML
|
||||||
template: blogpost
|
template: blogpost
|
||||||
content: Hello World! 2
|
content: Hello World! 2
|
||||||
---
|
|
||||||
|
|
Reference in New Issue