--- a/qmsk_www_pages/pages.py Sun Sep 14 03:22:57 2014 +0300
+++ b/qmsk_www_pages/pages.py Sun Sep 14 03:31:47 2014 +0300
@@ -120,17 +120,33 @@
yield path, file_name, file_type
+ def item_title (self, name):
+ """
+ Lookup item title if exists.
+ """
+
+ title_path = os.path.join(self.path, name + '.title')
+
+ log.info("%s: %s title_path=%s", self, name, title_path)
+
+ if os.path.exists(title_path):
+ return open(title_path).read().strip()
+ else:
+ return None
+
def list (self):
"""
Lists all Trees and Pages for this Tree
"""
- for path, file_name, file_type in self.scan():
+ for path, name, file_type in self.scan():
+ title = self.item_title(name) or name
+
# trees
if os.path.isdir(path):
- yield self.url(tree=file_name), file_name, None
+ yield self.url(tree=name), name, None, title
- if file_name == self.INDEX:
+ if name == self.INDEX:
continue
# pages
@@ -139,8 +155,8 @@
if file_type not in TYPES:
continue
-
- yield self.url(page=file_name), file_name, file_type
+
+ yield self.url(page=name), name, file_type, title
def page (self, name):
"""
@@ -167,11 +183,15 @@
continue
# out
+ title = self.item_title(file_name)
+
return page_type(
path = path,
name = name,
tree = self,
parents = self.parents + (self, ),
+
+ title = title,
)
class Page (object):
--- a/qmsk_www_pages/templates/pages/page.html Sun Sep 14 03:22:57 2014 +0300
+++ b/qmsk_www_pages/templates/pages/page.html Sun Sep 14 03:31:47 2014 +0300
@@ -23,13 +23,13 @@
<hr />
{% endif %}
<ul class="nav">
- {% for page, name, type in tree.list %}
+ {% for page, name, type, title in tree.list %}
<li class="page-tree-item{% if type %} page-tree-{{type}}{% else %} page-tree-tree{% endif %}{% if name == tree_name %} page-tree-active{% endif %}">
<a href="{% url 'page' page %}">
{% if not type %}
<i class="glyphicon glyphicon-chevron-right"></i>
{% endif %}
- {{ name }}
+ {{ title }}
</a>
</li>
{% endfor %}