Added ability to record metadata at top of page data file.
[cmless] / bin / template.py
CommitLineData
d955cfad
AT
1# (c) 2017 Aaron Taylor <ataylor at subgeniuskitty dot com>
2# See LICENSE file for copyright and license details.
3
4# Python imports
990c6f79 5import os, datetime
d955cfad
AT
6
7# CMless imports
8import config, misc
9
1debf034
AT
10def add_delimiter(keyword):
11 return config.template_delimiter + keyword + config.template_delimiter
12
13def head_meta_description(template):
14 keyword = add_delimiter("meta_description")
15 return template.replace(keyword,'<meta name="description" content="' + misc.lookup_page_metadata("meta_description") + '">')
16
17def head_meta_keywords(template):
18 keyword = add_delimiter("meta_keywords")
19 return template.replace(keyword,'<meta name="keywords" content="' + misc.lookup_page_metadata("meta_keywords") + '">')
20
0a58f7f1 21def page_title(template):
1debf034
AT
22 keyword = add_delimiter("page_title")
23 return template.replace(keyword, config.site_name + " - " + misc.lookup_page_metadata("page_title"))
d955cfad 24
0a58f7f1 25def site_title(template):
1debf034
AT
26 keyword = add_delimiter("site_title")
27 return template.replace(keyword, config.site_name)
0a58f7f1
AT
28
29def body(template):
1debf034 30 keyword = add_delimiter("page_content")
d955cfad
AT
31 body = misc.load_file(config.site_data_prefix + os.environ['REQUEST_URI'] +
32 config.markup_file_extension)
1debf034 33 body = misc.strip_page_metadata(body)
d955cfad 34 body = misc.process_markup(body)
1debf034 35 return template.replace(keyword, body)
990c6f79
AT
36
37def current_year(template):
1debf034 38 keyword = add_delimiter("current_year")
990c6f79 39 now = datetime.datetime.now()
1debf034 40 return template.replace(keyword, str(now.year))