--- hatta/config.py.orig 2013-11-11 16:03:04.000000000 +0300 +++ hatta/config.py 2014-12-23 11:26:37.826040437 +0300 @@ -24,6 +24,8 @@ help='Use the repository at DIR', metavar='DIR') _add('-t', '--cache-dir', dest='cache_path', help='Store cache in DIR', metavar='DIR') +_add('-T', '--template-dir', dest='template_path', + help='Use templates in DIR', metavar='DIR') _add('-i', '--interface', dest='interface', help='Listen on interface INT', metavar='INT') _add('-p', '--port', dest='port', type='int', --- hatta/wiki.py.orig 2013-11-11 16:14:00.000000000 +0300 +++ hatta/wiki.py 2014-12-23 18:15:27.824078168 +0300 @@ -52,10 +52,15 @@ return translation -def init_template(translation): +def init_template(translation, template_path): + loaders = [ jinja2.PackageLoader('hatta', 'templates') ] + + if template_path is not None: + loaders.insert(0, jinja2.FileSystemLoader(os.path.abspath(template_path))) + template_env = jinja2.Environment( extensions=['jinja2.ext.i18n'], - loader=jinja2.PackageLoader('hatta', 'templates'), + loader=jinja2.ChoiceLoader(loaders), ) template_env.autoescape = True template_env.install_gettext_translations(translation, True) @@ -82,7 +87,8 @@ self.language = config.get('language') translation = init_gettext(self.language) self.gettext = translation.ugettext - self.template_env = init_template(translation) + self.template_path = config.get('template_path') + self.template_env = init_template(translation, self.template_path) self.path = os.path.abspath(config.get('pages_path', 'docs')) self.repo_path = config.get('repo_path') self.page_charset = config.get('page_charset', 'utf-8') .