verdandi/verdandi/modules/page.py

38 lines
1.1 KiB
Python
Raw Normal View History

2015-02-26 20:26:39 +01:00
#!/usr/bin/env python2
2015-02-26 23:56:19 +01:00
import os
from datetime import datetime
import markdown
2015-02-26 20:26:39 +01:00
from verdandi.mixins.templatemixin import TemplateMixin
from verdandi.mixins.menuitemmixin import MenuItemMixin
2016-01-09 02:13:08 +01:00
from verdandi.mixins.assetsmixin import AssetsMixin
from verdandi.constants import CONTENT_DIRECTORY, MARKDOWN_EXTENSIONS
2015-02-26 20:26:39 +01:00
2016-01-09 02:13:08 +01:00
class Page(MenuItemMixin, TemplateMixin, AssetsMixin):
2015-02-26 23:56:19 +01:00
title = "Page Title"
content_file = "content.md"
content_directory = CONTENT_DIRECTORY
markdown_extensions = MARKDOWN_EXTENSIONS
2015-02-26 20:26:39 +01:00
def get_context(self):
context = super(Page,self).get_context()
context['page_title'] = self.title
2015-02-26 23:56:19 +01:00
full_path = os.path.join(self.content_directory, self.content_file)
markdown_converter = markdown.Markdown(extensions = self.markdown_extensions)
2015-02-26 20:26:39 +01:00
2015-02-26 23:56:19 +01:00
ctime = os.path.getctime(full_path)
context['content_creation_time'] = datetime.fromtimestamp(ctime)
mtime = os.path.getmtime(full_path)
context['content_edit_time'] = datetime.fromtimestamp(mtime)
markdown_source = open(full_path, 'r').read()
context['content'] = markdown_converter.convert(markdown_source)
return context