##// END OF EJS Templates
Embed LaTeX output from pyout into equation* environment
Embed LaTeX output from pyout into equation* environment

File last commit:

r8766:0f9a80e1 merge
r8783:cd446cd3
Show More
nbconvert.py
85 lines | 3.0 KiB | text/x-python | PythonLexer
Fernando Perez
Initial checkin - note that in this state, it's producing an ipython...
r6220 #!/usr/bin/env python
Paul Ivanov
list known formats in help & on unknown fmt error...
r6280 """Convert IPython notebooks to other formats, such as ReST, and HTML.
Fernando Perez
Initial checkin - note that in this state, it's producing an ipython...
r6220
Paul Ivanov
list known formats in help & on unknown fmt error...
r6280 Example:
MinRK
Add true HTML export...
r7914 ./nbconvert.py --format rst file.ipynb
Fernando Perez
Initial checkin - note that in this state, it's producing an ipython...
r6220
MinRK
Add true HTML export...
r7914 Produces 'file.rst', along with auto-generated figure files
called nb_figure_NN.png.
Fernando Perez
Initial checkin - note that in this state, it's producing an ipython...
r6220 """
Fernando Perez
Fix handling of local files with the /files/ pseudo-url.
r6677 #-----------------------------------------------------------------------------
# Imports
#-----------------------------------------------------------------------------
Fernando Perez
First working version of latex converter.
r6671 from __future__ import print_function
Fernando Perez
Fix handling of local files with the /files/ pseudo-url.
r6677 # From IPython
Paul Ivanov
use argparse from IPython
r6262 from IPython.external import argparse
MinRK
Add true HTML export...
r7914
# local
Matthias BUSSONNIER
latex working
r8618 from converters.html import ConverterHTML
from converters.markdown import ConverterMarkdown
from converters.bloggerhtml import ConverterBloggerHTML
from converters.rst import ConverterRST
from converters.latex import ConverterLaTeX
Matthias BUSSONNIER
all seem to convert again
r8620 from converters.python import ConverterPy
Jonathan Taylor
overriding DocInherit due to recursion depth errors
r7366
Maximilian Albert
Much cleaner way of picking the right converter (inspired by a suggestion by Carreau).
r8728
# When adding a new format, make sure to add it to the `converters`
# dictionary below. This is used to create the list of known formats,
# which gets printed in case an unknown format is encounteres, as well
# as in the help
Maximilian Albert
Use a regular dictionary instead of OrderedDict.
r8731 converters = {
'rst': ConverterRST,
'markdown': ConverterMarkdown,
'html': ConverterHTML,
'blogger-html': ConverterBloggerHTML,
'latex': ConverterLaTeX,
'py': ConverterPy,
}
Maximilian Albert
Much cleaner way of picking the right converter (inspired by a suggestion by Carreau).
r8728
Maximilian Albert
Use a regular dictionary instead of OrderedDict.
r8731 default_format = 'rst'
Maximilian Albert
Better way of marking the default format (thanks to Carreau for the suggestion).
r8730
Maximilian Albert
Much cleaner way of picking the right converter (inspired by a suggestion by Carreau).
r8728 # Extract the list of known formats and mark the first format as the default.
Maximilian Albert
Better way of marking the default format (thanks to Carreau for the suggestion).
r8730 known_formats = ', '.join([key + " (default)" if key == default_format else key
Maximilian Albert
Drop .keys() since iteration over dictionaries automatically uses them.
r8733 for key in converters])
Maximilian Albert
Much cleaner way of picking the right converter (inspired by a suggestion by Carreau).
r8728
Fernando Perez
Initial checkin - note that in this state, it's producing an ipython...
r6220
Rick Lupton
LaTeX converter: command line args for preamble filename and to exclude certain cell types
r8750 def main(infile, format='rst', preamble=None, exclude=None):
Fernando Perez
Initial checkin - note that in this state, it's producing an ipython...
r6220 """Convert a notebook to html in one step"""
Maximilian Albert
Much cleaner way of picking the right converter (inspired by a suggestion by Carreau).
r8728 try:
ConverterClass = converters[format]
except KeyError:
Paul Ivanov
list known formats in help & on unknown fmt error...
r6280 raise SystemExit("Unknown format '%s', " % format +
Rick Lupton
LaTeX converter: command line args for preamble filename and to exclude certain cell types
r8750 "known formats are: " + known_formats)
Fernando Perez
Initial checkin - note that in this state, it's producing an ipython...
r6220
Maximilian Albert
Much cleaner way of picking the right converter (inspired by a suggestion by Carreau).
r8728 converter = ConverterClass(infile)
converter.render()
Fernando Perez
Fix handling of local files with the /files/ pseudo-url.
r6677 #-----------------------------------------------------------------------------
# Script main
#-----------------------------------------------------------------------------
Anton I. Sipos
Add argument parsing, and ability to convert an HTML file from command line
r6261
Paul Ivanov
list known formats in help & on unknown fmt error...
r6280 if __name__ == '__main__':
parser = argparse.ArgumentParser(description=__doc__,
formatter_class=argparse.RawTextHelpFormatter)
Anton I. Sipos
Add argument parsing, and ability to convert an HTML file from command line
r6261 # TODO: consider passing file like object around, rather than filenames
# would allow us to process stdin, or even http streams
David Warde-Farley
PEP8-ify rest of the repository.
r8749 #parser.add_argument('infile', nargs='?', type=argparse.FileType('r'),
# default=sys.stdin)
Anton I. Sipos
Add argument parsing, and ability to convert an HTML file from command line
r6261
#Require a filename as a positional argument
parser.add_argument('infile', nargs=1)
Anton I. Sipos
Add help for format command line option.
r6265 parser.add_argument('-f', '--format', default='rst',
Paul Ivanov
list known formats in help & on unknown fmt error...
r6280 help='Output format. Supported formats: \n' +
known_formats)
Rick Lupton
LaTeX converter: command line args for preamble filename and to exclude certain cell types
r8750 parser.add_argument('-p', '--preamble',
help='Path to a user-specified preamble file')
Rick Lupton
Options to exclude certain sections (source code or cell output) from exported result
r8753 parser.add_argument('-e', '--exclude', default='',
help='Comma-separated list of cells to exclude')
Anton I. Sipos
Add argument parsing, and ability to convert an HTML file from command line
r6261 args = parser.parse_args()
Rick Lupton
Options to exclude certain sections (source code or cell output) from exported result
r8753 exclude_cells = [s.strip() for s in args.exclude.split(',')]
Rick Lupton
LaTeX converter: command line args for preamble filename and to exclude certain cell types
r8750 main(infile=args.infile[0], format=args.format,
Rick Lupton
Options to exclude certain sections (source code or cell output) from exported result
r8753 preamble=args.preamble, exclude=exclude_cells)