# (c) 2017 Aaron Taylor <ataylor at subgeniuskitty dot com>
# See LICENSE file for copyright and license details.
import sys
, os
, urllib
.parse
import config
, misc
, template
print("Content-Type: text/html;charset=utf-8\n")
# Since we can't use Apache's DirectoryIndex directive due to a RewriteCond
# passing all non-file objects to this script, we implement equivalent
if os
.environ
['REQUEST_URI'][-1] == "/":
os
.environ
['REQUEST_URI'] = os
.environ
['REQUEST_URI'] + config
.default_page
# Since we use REQUEST_URI to navigate the filesystem we need to unquote it.
# In other words, replace things like '%20' with ' ' (a space character).
os
.environ
['REQUEST_URI'] = urllib
.parse
.unquote(os
.environ
['REQUEST_URI'])
# The template engine operates like a micropass compiler with each pass
# handling one tag from the template. Extensions to the template engine
# should be executed from here and should not have or create
content
= misc
.load_file(config
.site_template_prefix
+ "/" + config
.template_file
)
content
= template
.page_title(content
)
content
= template
.site_title(content
)
content
= template
.current_year(content
)
content
= template
.head_meta_description(content
)
content
= template
.head_meta_keywords(content
)
content
= template
.menu_top_level(content
)
content
= template
.menu_current_dir(content
)
content
= template
.body(content
)
if __name__
== "__main__":