Mercurial > piecrust2
annotate piecrust/formatting/hoedownformatter.py @ 1034:96f1e5e377ef
markdown: Use either the `hoedown` or `markdown` config section.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Tue, 16 Jan 2018 08:39:08 -0800 |
parents | 0302f690a4c5 |
children |
rev | line source |
---|---|
694
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
1 import logging |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
2 from piecrust.formatting.base import Formatter |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
3 |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
4 |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
5 logger = logging.getLogger(__name__) |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
6 |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
7 |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
8 class HoedownFormatter(Formatter): |
989
8adc27285d93
bake: Big pass on bake performance.
Ludovic Chabant <ludovic@chabant.com>
parents:
695
diff
changeset
|
9 FORMAT_NAMES = ['markdown', 'mdown', 'md'] |
694
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
10 OUTPUT_FORMAT = 'html' |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
11 |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
12 def __init__(self): |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
13 super(HoedownFormatter, self).__init__() |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
14 self._formatter = None |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
15 |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
16 def render(self, format_name, txt): |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
17 assert format_name in self.FORMAT_NAMES |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
18 self._ensureInitialized() |
1006
58ef814cc83e
formatting: Replace `python-hoedown` with `misaka`.
Ludovic Chabant <ludovic@chabant.com>
parents:
989
diff
changeset
|
19 return self._formatter(txt) |
694
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
20 |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
21 def _ensureInitialized(self): |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
22 if self._formatter is not None: |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
23 return |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
24 |
1006
58ef814cc83e
formatting: Replace `python-hoedown` with `misaka`.
Ludovic Chabant <ludovic@chabant.com>
parents:
989
diff
changeset
|
25 import misaka |
695
0c688063890f
formatting: Don't import `hoedown` until we need it.
Ludovic Chabant <ludovic@chabant.com>
parents:
694
diff
changeset
|
26 |
694
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
27 # Don't show warnings once for each worker when baking, so only |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
28 # show them for the first. If the variable is not set, we're not |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
29 # baking so do show them either way. |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
30 show_warnings = (self.app.config.get('baker/worker_id', 0) == 0) |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
31 |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
32 config = self.app.config.get('hoedown') |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
33 if config is None: |
1034
96f1e5e377ef
markdown: Use either the `hoedown` or `markdown` config section.
Ludovic Chabant <ludovic@chabant.com>
parents:
1023
diff
changeset
|
34 config = self.app.config.get('markdown') |
96f1e5e377ef
markdown: Use either the `hoedown` or `markdown` config section.
Ludovic Chabant <ludovic@chabant.com>
parents:
1023
diff
changeset
|
35 if config is None: |
694
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
36 config = {} |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
37 elif not isinstance(config, dict): |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
38 raise Exception("The `hoedown` configuration setting must be " |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
39 "a dictionary.") |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
40 |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
41 extensions = config.get('extensions', []) |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
42 if isinstance(extensions, str): |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
43 extensions = [e.strip() for e in extensions.split(',')] |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
44 # Compatibility with PieCrust 1.x |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
45 if config.get('use_markdown_extra'): |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
46 extensions.append('extra') |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
47 |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
48 render_flags = config.get('render_flags') |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
49 if render_flags is None: |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
50 render_flags = [] |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
51 |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
52 # Translate standard Markdown formatter extensions to Hoedown |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
53 # extension/render flags to make it easier to use Hoedown as a drop-in |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
54 # replacement. |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
55 exts = 0 |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
56 rdrf = 0 |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
57 other = 0 |
1023
0302f690a4c5
formatting: Fix Smartypants option for hoedown.
Ludovic Chabant <ludovic@chabant.com>
parents:
1006
diff
changeset
|
58 use_smartypants = False |
694
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
59 for n in extensions: |
1023
0302f690a4c5
formatting: Fix Smartypants option for hoedown.
Ludovic Chabant <ludovic@chabant.com>
parents:
1006
diff
changeset
|
60 # Special case for Smartypants. |
0302f690a4c5
formatting: Fix Smartypants option for hoedown.
Ludovic Chabant <ludovic@chabant.com>
parents:
1006
diff
changeset
|
61 if n.lower() in ['smarty', 'smartypants']: |
0302f690a4c5
formatting: Fix Smartypants option for hoedown.
Ludovic Chabant <ludovic@chabant.com>
parents:
1006
diff
changeset
|
62 use_smartypants = True |
0302f690a4c5
formatting: Fix Smartypants option for hoedown.
Ludovic Chabant <ludovic@chabant.com>
parents:
1006
diff
changeset
|
63 continue |
0302f690a4c5
formatting: Fix Smartypants option for hoedown.
Ludovic Chabant <ludovic@chabant.com>
parents:
1006
diff
changeset
|
64 |
694
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
65 # Try an extension? |
1006
58ef814cc83e
formatting: Replace `python-hoedown` with `misaka`.
Ludovic Chabant <ludovic@chabant.com>
parents:
989
diff
changeset
|
66 e = getattr(misaka, 'EXT_' + n.upper(), None) |
694
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
67 if e is not None: |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
68 exts |= e |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
69 continue |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
70 |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
71 # Try a render flag? |
1006
58ef814cc83e
formatting: Replace `python-hoedown` with `misaka`.
Ludovic Chabant <ludovic@chabant.com>
parents:
989
diff
changeset
|
72 f = getattr(misaka, 'HTML_' + n.upper(), None) |
694
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
73 if f is not None: |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
74 rdrf |= f |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
75 |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
76 # Other flag? |
1006
58ef814cc83e
formatting: Replace `python-hoedown` with `misaka`.
Ludovic Chabant <ludovic@chabant.com>
parents:
989
diff
changeset
|
77 f = getattr(misaka, 'TABLE_' + n.upper(), None) |
694
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
78 if f is not None: |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
79 other |= f |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
80 |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
81 # Try translating from a Markdown extension name. |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
82 t = ext_translate.get(n) |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
83 if t is None: |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
84 if show_warnings: |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
85 logger.warning("Unknown Hoedown Markdown extension or flag: " |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
86 "%s" % n) |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
87 continue |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
88 if not isinstance(t, list): |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
89 t = [t] |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
90 for i in t: |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
91 if i.startswith('EXT_'): |
1006
58ef814cc83e
formatting: Replace `python-hoedown` with `misaka`.
Ludovic Chabant <ludovic@chabant.com>
parents:
989
diff
changeset
|
92 exts |= getattr(misaka, i) |
694
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
93 elif i.startswith('HTML_'): |
1006
58ef814cc83e
formatting: Replace `python-hoedown` with `misaka`.
Ludovic Chabant <ludovic@chabant.com>
parents:
989
diff
changeset
|
94 rdrf |= getattr(misaka, i) |
694
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
95 elif show_warnings: |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
96 logger.warning("Unknown Hoedown Markdown extension or flag:" |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
97 "%s" % n) |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
98 if n == 'extra' and show_warnings: |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
99 # Special warning for the 'extra' extension. |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
100 logger.warning( |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
101 "The 'extra' extension doesn't have a full equivalent " |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
102 "in Hoedown Markdown. Only 'fenced_code', 'footnotes' and " |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
103 "'tables' extensions will be active. " |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
104 "To remove this warning, replace 'extra' with those 3 " |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
105 "specific extensions.") |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
106 |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
107 # Enable a few things by default. |
1006
58ef814cc83e
formatting: Replace `python-hoedown` with `misaka`.
Ludovic Chabant <ludovic@chabant.com>
parents:
989
diff
changeset
|
108 exts |= misaka.EXT_NO_INTRA_EMPHASIS |
694
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
109 |
1006
58ef814cc83e
formatting: Replace `python-hoedown` with `misaka`.
Ludovic Chabant <ludovic@chabant.com>
parents:
989
diff
changeset
|
110 renderer = misaka.HtmlRenderer(flags=rdrf) |
58ef814cc83e
formatting: Replace `python-hoedown` with `misaka`.
Ludovic Chabant <ludovic@chabant.com>
parents:
989
diff
changeset
|
111 self._formatter = misaka.Markdown(renderer, extensions=(exts | other)) |
694
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
112 |
1023
0302f690a4c5
formatting: Fix Smartypants option for hoedown.
Ludovic Chabant <ludovic@chabant.com>
parents:
1006
diff
changeset
|
113 if use_smartypants: |
0302f690a4c5
formatting: Fix Smartypants option for hoedown.
Ludovic Chabant <ludovic@chabant.com>
parents:
1006
diff
changeset
|
114 self._formatter = _SmartypantsFormatter(self._formatter, |
0302f690a4c5
formatting: Fix Smartypants option for hoedown.
Ludovic Chabant <ludovic@chabant.com>
parents:
1006
diff
changeset
|
115 misaka.smartypants) |
0302f690a4c5
formatting: Fix Smartypants option for hoedown.
Ludovic Chabant <ludovic@chabant.com>
parents:
1006
diff
changeset
|
116 |
694
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
117 |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
118 ext_translate = { |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
119 'fenced_code': 'EXT_FENCED_CODE', |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
120 'footnotes': 'EXT_FOOTNOTES', |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
121 'tables': 'EXT_TABLES', |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
122 'nl2br': 'HTML_HARD_WRAP', |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
123 'toc': 'HTML_TOC', |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
124 'extra': ['EXT_FENCED_CODE', 'EXT_FOOTNOTES', 'EXT_TABLES'] |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
125 } |
b917ae071994
formatting: Add a `hoedown` formatter.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
126 |
1023
0302f690a4c5
formatting: Fix Smartypants option for hoedown.
Ludovic Chabant <ludovic@chabant.com>
parents:
1006
diff
changeset
|
127 |
0302f690a4c5
formatting: Fix Smartypants option for hoedown.
Ludovic Chabant <ludovic@chabant.com>
parents:
1006
diff
changeset
|
128 class _SmartypantsFormatter: |
0302f690a4c5
formatting: Fix Smartypants option for hoedown.
Ludovic Chabant <ludovic@chabant.com>
parents:
1006
diff
changeset
|
129 def __init__(self, formatter, smartier): |
0302f690a4c5
formatting: Fix Smartypants option for hoedown.
Ludovic Chabant <ludovic@chabant.com>
parents:
1006
diff
changeset
|
130 self._fmt = formatter |
0302f690a4c5
formatting: Fix Smartypants option for hoedown.
Ludovic Chabant <ludovic@chabant.com>
parents:
1006
diff
changeset
|
131 self._sp = smartier |
0302f690a4c5
formatting: Fix Smartypants option for hoedown.
Ludovic Chabant <ludovic@chabant.com>
parents:
1006
diff
changeset
|
132 |
0302f690a4c5
formatting: Fix Smartypants option for hoedown.
Ludovic Chabant <ludovic@chabant.com>
parents:
1006
diff
changeset
|
133 def __call__(self, txt): |
0302f690a4c5
formatting: Fix Smartypants option for hoedown.
Ludovic Chabant <ludovic@chabant.com>
parents:
1006
diff
changeset
|
134 return self._sp(self._fmt(txt)) |