Mercurial > piecrust2
changeset 20:c95c90c82263
Add support for Markdown extensions.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Mon, 18 Aug 2014 16:54:00 -0700 |
parents | dc72a288921f |
children | 53b9df2263dc |
files | piecrust/formatting/markdownformatter.py |
diffstat | 1 files changed, 18 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/piecrust/formatting/markdownformatter.py Mon Aug 18 16:53:47 2014 -0700 +++ b/piecrust/formatting/markdownformatter.py Mon Aug 18 16:54:00 2014 -0700 @@ -6,6 +6,23 @@ FORMAT_NAMES = ['markdown', 'mdown', 'md'] OUTPUT_FORMAT = 'html' + def __init__(self): + super(MarkdownFormatter, self).__init__() + self._extensions = None + def render(self, format_name, txt): - return markdown(txt) + self._ensureInitialized() + return markdown(txt, extensions=self._extensions) + + def _ensureInitialized(self): + if self._extensions is not None: + return + extensions = self.app.config.get('markdown/extensions') + if extensions is None: + extensions = [] + # Compatibility with PieCrust 1.x + if self.app.config.get('markdown/use_markdown_extra'): + extensions.append('extra') + self._extensions = extensions +