Show More
@@ -49,6 +49,25 b' import nbconvert.transformers.coalescestreams' | |||||
49 | #Jinja2 extensions to load. |
|
49 | #Jinja2 extensions to load. | |
50 | JINJA_EXTENSIONS = ['jinja2.ext.loopcontrols'] |
|
50 | JINJA_EXTENSIONS = ['jinja2.ext.loopcontrols'] | |
51 |
|
51 | |||
|
52 | default_filters = { | |||
|
53 | 'indent': indent, | |||
|
54 | 'markdown': markdown, | |||
|
55 | 'ansi2html': nbconvert.filters.ansi.ansi2html, | |||
|
56 | 'filter_data_type': nbconvert.filters.datatypefilter.DataTypeFilter, | |||
|
57 | 'get_lines': nbconvert.filters.strings.get_lines, | |||
|
58 | 'highlight': nbconvert.filters.highlight.highlight, | |||
|
59 | 'highlight2html': nbconvert.filters.highlight.highlight, | |||
|
60 | 'highlight2latex': nbconvert.filters.highlight.highlight2latex, | |||
|
61 | 'markdown2latex': nbconvert.filters.markdown.markdown2latex, | |||
|
62 | 'markdown2rst': nbconvert.filters.markdown.markdown2rst, | |||
|
63 | 'pycomment': nbconvert.filters.strings.python_comment, | |||
|
64 | 'rm_ansi': nbconvert.filters.ansi.remove_ansi, | |||
|
65 | 'rm_dollars': nbconvert.filters.strings.strip_dollars, | |||
|
66 | 'rm_fake': nbconvert.filters.strings.rm_fake, | |||
|
67 | 'rm_math_space': nbconvert.filters.latex.rm_math_space, | |||
|
68 | 'wrap': nbconvert.filters.strings.wrap | |||
|
69 | } | |||
|
70 | ||||
52 | #----------------------------------------------------------------------------- |
|
71 | #----------------------------------------------------------------------------- | |
53 | # Class |
|
72 | # Class | |
54 | #----------------------------------------------------------------------------- |
|
73 | #----------------------------------------------------------------------------- | |
@@ -61,8 +80,15 b' class Exporter(Configurable):' | |||||
61 | transformers provided by default suffice, there is no need to inherit from |
|
80 | transformers provided by default suffice, there is no need to inherit from | |
62 | this class. Instead, override the template_file and file_extension |
|
81 | this class. Instead, override the template_file and file_extension | |
63 | traits via a config file. |
|
82 | traits via a config file. | |
64 | """ |
|
|||
65 |
|
|
83 | ||
|
84 | {filters} | |||
|
85 | """ | |||
|
86 | ||||
|
87 | ||||
|
88 | ||||
|
89 | __doc__ = __doc__.format(filters = '- '+'\n - '.join(default_filters.keys())) | |||
|
90 | ||||
|
91 | ||||
66 | template_file = Unicode( |
|
92 | template_file = Unicode( | |
67 | '', config=True, |
|
93 | '', config=True, | |
68 | help="Name of the template file to use") |
|
94 | help="Name of the template file to use") | |
@@ -107,10 +133,11 b' class Exporter(Configurable):' | |||||
107 | the Jinja template engine. Any transformers specified here |
|
133 | the Jinja template engine. Any transformers specified here | |
108 | will override existing transformers if a naming conflict |
|
134 | will override existing transformers if a naming conflict | |
109 | occurs. |
|
135 | occurs. | |
110 |
filters : |
|
136 | filters : dict[of filter] | |
111 | Custom filters to make accessible to the Jinja templates. Any |
|
137 | filters specified here will override existing filters if a naming | |
112 | filters specified here will override existing filters if a |
|
138 | conflict occurs. Filters are availlable in jinja template through | |
113 | naming conflict occurs. |
|
139 | the name of the corresponding key. Cf class docstring for | |
|
140 | availlable default filters. | |||
114 | config : config |
|
141 | config : config | |
115 | User configuration instance. |
|
142 | User configuration instance. | |
116 | """ |
|
143 | """ | |
@@ -253,23 +280,8 b' class Exporter(Configurable):' | |||||
253 | """ |
|
280 | """ | |
254 | Register all of the filters required for the exporter. |
|
281 | Register all of the filters required for the exporter. | |
255 | """ |
|
282 | """ | |
256 |
|
283 | for k,v in default_filters.iteritems(): | ||
257 |
self.register_filter( |
|
284 | self.register_filter(k,v) | |
258 | self.register_filter('markdown', markdown) |
|
|||
259 | self.register_filter('ansi2html', nbconvert.filters.ansi.ansi2html) |
|
|||
260 | self.register_filter('filter_data_type', nbconvert.filters.datatypefilter.DataTypeFilter) |
|
|||
261 | self.register_filter('get_lines', nbconvert.filters.strings.get_lines) |
|
|||
262 | self.register_filter('highlight', nbconvert.filters.highlight.highlight) |
|
|||
263 | self.register_filter('highlight2html', nbconvert.filters.highlight.highlight) |
|
|||
264 | self.register_filter('highlight2latex', nbconvert.filters.highlight.highlight2latex) |
|
|||
265 | self.register_filter('markdown2latex', nbconvert.filters.markdown.markdown2latex) |
|
|||
266 | self.register_filter('markdown2rst', nbconvert.filters.markdown.markdown2rst) |
|
|||
267 | self.register_filter('pycomment', nbconvert.filters.strings.python_comment) |
|
|||
268 | self.register_filter('rm_ansi', nbconvert.filters.ansi.remove_ansi) |
|
|||
269 | self.register_filter('rm_dollars', nbconvert.filters.strings.strip_dollars) |
|
|||
270 | self.register_filter('rm_fake', nbconvert.filters.strings.rm_fake) |
|
|||
271 | self.register_filter('rm_math_space', nbconvert.filters.latex.rm_math_space) |
|
|||
272 | self.register_filter('wrap', nbconvert.filters.strings.wrap) |
|
|||
273 |
|
285 | |||
274 |
|
286 | |||
275 | def _init_environment(self): |
|
287 | def _init_environment(self): | |
@@ -320,3 +332,4 b' class Exporter(Configurable):' | |||||
320 | for transformer in self.transformers: |
|
332 | for transformer in self.transformers: | |
321 | nb, resources = transformer(nb, resources) |
|
333 | nb, resources = transformer(nb, resources) | |
322 | return nb, resources |
|
334 | return nb, resources | |
|
335 |
General Comments 0
You need to be logged in to leave comments.
Login now