##// END OF EJS Templates
Fixed all broken references, refactored some stuff here and there,...
Fixed all broken references, refactored some stuff here and there, standardized nomenclature. Ready to test...

File last commit:

r10624:bfa8f97c
r10624:bfa8f97c
Show More
convert.py
82 lines | 3.2 KiB | text/x-python | PythonLexer
"""Latex transformer.
Module that allows latex output notebooks to be conditioned before
they are converted.
"""
#-----------------------------------------------------------------------------
# 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.
#-----------------------------------------------------------------------------
from .exporter import Exporter
from .html import HtmlExporter
from .latex import LatexExporter
from .markdown import MarkdownExporter
from .python import PythonExporter
from .reveal import RevealExporter
from .rst import RstExporter
from .sphinx import SphinxExporter
from IPython.nbformat.v3.nbbase import NotebookNode
#-----------------------------------------------------------------------------
# Functions
#-----------------------------------------------------------------------------
def export(nb, config=None, transformers=None, filters=None, exporter_type=Exporter):
#Check arguments
if exporter_type is None:
raise TypeError("Exporter is None")
elif not isinstance(exporter_type, Exporter):
raise TypeError("Exporter type does not inherit from Exporter (base)")
if nb is None:
raise TypeError("nb is None")
#Create the exporter
exporter_instance = exporter_type(transformers, filters, config)
#Try to convert the notebook using the appropriate conversion function.
if isinstance(nb, NotebookNode):
return exporter_instance.from_notebook_node(nb), exporter_instance
elif isinstance(nb, str):
return exporter_instance.from_filename(nb), exporter_instance
else:
return exporter_instance.from_file(nb), exporter_instance
def export_sphinx(nb, config=None, transformers=None, filters=None):
return export(nb, config, transformers, filters, SphinxExporter)
def export_html(nb, config=None, transformers=None, filters=None):
return export(nb, config, transformers, filters, HtmlExporter)
def export_latex(nb, config=None, transformers=None, filters=None):
return export(nb, config, transformers, filters, LatexExporter)
def export_markdown(nb, config=None, transformers=None, filters=None):
return export(nb, config, transformers, filters, MarkdownExporter)
def export_python(nb, config=None, transformers=None, filters=None):
return export(nb, config, transformers, filters, PythonExporter)
def export_reveal(nb, config=None, transformers=None, filters=None):
return export(nb, config, transformers, filters, RevealExporter)
def export_rst(nb, config=None, transformers=None, filters=None):
return export(nb, config, transformers, filters, RstExporter)
EXPORT_FUNCTIONS = {"sphinx": export_sphinx,
"html": export_html,
"latex": export_latex,
"markdown": export_markdown,
"python": export_python,
"reveal": export_reveal,
"rst": export_rst}
def export_by_name(nb, template_name, config=None, transformers=None, filters=None):
return EXPORT_FUNCTIONS[template_name](nb, config, transformers, filters)