1
0
Fork 0
forked from github/pelican

Merge pull request #2234 from dwarvenhoard/feature/extension-setting

Add setting so template extensions are configurable
This commit is contained in:
Justin Mayer 2018-02-08 09:02:05 -08:00 committed by GitHub
commit 598f9fbc83
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 17 additions and 5 deletions

View file

@ -699,6 +699,10 @@ Template pages
'src/resume.html': 'dest/resume.html',
'src/contact.html': 'dest/contact.html'}
.. data:: TEMPLATE_EXTENSION = ['.html']
The extensions to use when looking up template files from template names.
.. data:: DIRECT_TEMPLATES = ['index', 'categories', 'authors', 'archives']
List of templates that are used directly to render content. Typically direct

View file

@ -86,12 +86,19 @@ class Generator(object):
templates ready to use with Jinja2.
"""
if name not in self._templates:
for ext in self.settings['TEMPLATE_EXTENSIONS']:
try:
self._templates[name] = self.env.get_template(name + '.html')
self._templates[name] = self.env.get_template(name + ext)
break
except TemplateNotFound:
continue
if name not in self._templates:
raise PelicanTemplateNotFound(
'[templates] unable to load {}.html from {}'.format(
name, self._templates_path))
'[templates] unable to load {}[{}] from {}'.format(
name, ', '.join(self.settings['TEMPLATE_EXTENSIONS']),
self._templates_path))
return self._templates[name]
def _include_path(self, path, extensions=None):

View file

@ -134,6 +134,7 @@ DEFAULT_CONFIG = {
'PLUGINS': [],
'PYGMENTS_RST_OPTIONS': {},
'TEMPLATE_PAGES': {},
'TEMPLATE_EXTENSIONS': ['.html'],
'IGNORE_FILES': ['.#*'],
'SLUG_SUBSTITUTIONS': (),
'INTRASITE_LINK_REGEX': '[{|](?P<what>.*?)[|}]',