##// END OF EJS Templates
Uses events for ContentManager.save_notebook...
Uses events for ContentManager.save_notebook Modifies ContentManager.save_notebook() to use events, so that the Notebook instance can listen for success or failure events. Also moves some logic out of save_notebook()

File last commit:

r18589:135227ac
r18635:a643827b
Show More
html.py
66 lines | 2.4 KiB | text/x-python | PythonLexer
"""HTML Exporter class"""
#-----------------------------------------------------------------------------
# Copyright (c) 2013, the IPython Development Team.
#
# Distributed under the terms of the Modified BSD License.
#
# The full license is in the file COPYING.txt, distributed with this software.
#-----------------------------------------------------------------------------
#-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
import os
from IPython.nbconvert.filters.highlight import Highlight2HTML
from IPython.config import Config
from .templateexporter import TemplateExporter
#-----------------------------------------------------------------------------
# Classes
#-----------------------------------------------------------------------------
class HTMLExporter(TemplateExporter):
"""
Exports a basic HTML document. This exporter assists with the export of
HTML. Inherit from it if you are writing your own HTML template and need
custom preprocessors/filters. If you don't need custom preprocessors/
filters, just change the 'template_file' config option.
"""
def _file_extension_default(self):
return 'html'
def _default_template_path_default(self):
return os.path.join("..", "templates", "html")
def _template_file_default(self):
return 'full'
output_mimetype = 'text/html'
@property
def default_config(self):
c = Config({
'NbConvertBase': {
'display_data_priority' : ['text/javascript', 'text/html', 'application/pdf', 'image/svg+xml', 'text/latex', 'image/png', 'image/jpeg', 'text/plain']
},
'CSSHTMLHeaderPreprocessor':{
'enabled':True
},
'HighlightMagicsPreprocessor': {
'enabled':True
}
})
c.merge(super(HTMLExporter,self).default_config)
return c
def from_notebook_node(self, nb, resources=None, **kw):
langinfo = nb.metadata.get('language_info', {})
lexer = langinfo.get('pygments_lexer', langinfo.get('name', None))
self.register_filter('highlight_code',
Highlight2HTML(pygments_lexer=lexer, parent=self))
return super(HTMLExporter, self).from_notebook_node(nb, resources, **kw)