Mercurial > piecrust2
comparison piecrust/formatting/markdownformatter.py @ 20:c95c90c82263
Add support for Markdown extensions.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Mon, 18 Aug 2014 16:54:00 -0700 |
parents | f485ba500df3 |
children | 95590732e4c9 |
comparison
equal
deleted
inserted
replaced
19:dc72a288921f | 20:c95c90c82263 |
---|---|
4 | 4 |
5 class MarkdownFormatter(Formatter): | 5 class MarkdownFormatter(Formatter): |
6 FORMAT_NAMES = ['markdown', 'mdown', 'md'] | 6 FORMAT_NAMES = ['markdown', 'mdown', 'md'] |
7 OUTPUT_FORMAT = 'html' | 7 OUTPUT_FORMAT = 'html' |
8 | 8 |
9 def __init__(self): | |
10 super(MarkdownFormatter, self).__init__() | |
11 self._extensions = None | |
12 | |
9 def render(self, format_name, txt): | 13 def render(self, format_name, txt): |
10 return markdown(txt) | 14 self._ensureInitialized() |
15 return markdown(txt, extensions=self._extensions) | |
11 | 16 |
17 def _ensureInitialized(self): | |
18 if self._extensions is not None: | |
19 return | |
20 | |
21 extensions = self.app.config.get('markdown/extensions') | |
22 if extensions is None: | |
23 extensions = [] | |
24 # Compatibility with PieCrust 1.x | |
25 if self.app.config.get('markdown/use_markdown_extra'): | |
26 extensions.append('extra') | |
27 self._extensions = extensions | |
28 |