##// END OF EJS Templates
update notebook creation handlers...
update notebook creation handlers - only POST to directories (notebook picks name) - only PUT to full paths - PUT and POST should be equivalent aside from who picks the notebook name.

File last commit:

r12443:7780f6ef
r13129:f4c1a0aa
Show More
revealhelp.py
67 lines | 2.6 KiB | text/x-python | PythonLexer
Jonathan Frederic
Cleanup and refactor, transformers
r10674 """Module that pre-processes the notebook for export via Reveal.
"""
#-----------------------------------------------------------------------------
# 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
#-----------------------------------------------------------------------------
damianavila
Added working speaker notes for slides.
r11894 import os
import urllib2
Paul Ivanov
replace 'transformer' with 'preprocessor'
r12219 from .base import Preprocessor
damianavila
Added working speaker notes for slides.
r11894 from IPython.utils.traitlets import Unicode, Bool
damianavila
Added white line after imports.
r11181
Jonathan Frederic
Cleanup and refactor, transformers
r10674 #-----------------------------------------------------------------------------
# Classes and functions
#-----------------------------------------------------------------------------
Paul Ivanov
replace 'transformer' with 'preprocessor'
r12219 class RevealHelpPreprocessor(Preprocessor):
Jonathan Frederic
Split transformer code
r10437
MinRK
use local reveal.js url prefix by default...
r12443 url_prefix = Unicode('reveal.js', config=True,
MinRK
remove special handling of speaker notes
r12439 help="""The URL prefix for reveal.js.
This can be a a relative URL for a local copy of reveal.js,
or point to a CDN.
MinRK
use local reveal.js url prefix by default...
r12443 For speaker notes to work, a local reveal.js prefix must be used.
MinRK
remove special handling of speaker notes
r12439 """
)
damianavila
Make configurable the url where look for reveal.js library.
r11179
Paul Ivanov
replace 'transformer' with 'preprocessor'
r12219 def preprocess(self, nb, resources):
Jonathan Frederic
Cleanup and refactor, transformers
r10674 """
Paul Ivanov
replace 'transformer' with 'preprocessor'
r12219 Called once to 'preprocess' contents of the notebook.
damianavila
Added some changes covering Mathias's commentaries.
r11183
Jonathan Frederic
Cleanup and refactor, transformers
r10674 Parameters
----------
nb : NotebookNode
Notebook being converted
resources : dictionary
Additional resources used in the conversion process. Allows
Paul Ivanov
replace 'transformer' with 'preprocessor'
r12219 preprocessors to pass variables into the Jinja engine.
Jonathan Frederic
Cleanup and refactor, transformers
r10674 """
damianavila
Added some changes covering Mathias's commentaries.
r11183
Jonathan Frederic
Split transformer code
r10437 for worksheet in nb.worksheets :
Jonathan Frederic
Added writers and supporting code.
r11367 for index, cell in enumerate(worksheet.cells):
damianavila
Fixed reveal in the new nbconvert to make it work.
r10823
#Make sure the cell has slideshow metadata.
damianavila
Added changes to understand alignment metadata for each cells.
r10947 cell.metadata.align_type = cell.get('metadata', {}).get('slideshow', {}).get('align_type', 'Left')
damianavila
Fixed reveal in the new nbconvert to make it work.
r10823 cell.metadata.slide_type = cell.get('metadata', {}).get('slideshow', {}).get('slide_type', '-')
Jonathan Frederic
Cleanup and refactor, transformers
r10674 #Get the slide type. If type is start of subslide or slide,
#end the last subslide/slide.
Jonathan Frederic
Split transformer code
r10437 if cell.metadata.slide_type in ['slide']:
Jonathan Frederic
Added writers and supporting code.
r11367 worksheet.cells[index - 1].metadata.slide_helper = 'slide_end'
Jonathan Frederic
Split transformer code
r10437 if cell.metadata.slide_type in ['subslide']:
Jonathan Frederic
Added writers and supporting code.
r11367 worksheet.cells[index - 1].metadata.slide_helper = 'subslide_end'
damianavila
Make configurable the url where look for reveal.js library.
r11179
damianavila
Added some changes covering Mathias's commentaries.
r11183
Jonathan Frederic
Fixed, don't check using in since resources is a default dict.
r12143 if not isinstance(resources['reveal'], dict):
damianavila
Added look for key 'reveal' to not overwrite it.
r11184 resources['reveal'] = {}
damianavila
Added some changes covering Mathias's commentaries.
r11183 resources['reveal']['url_prefix'] = self.url_prefix
Jonathan Frederic
Cleanup and refactor, transformers
r10674 return nb, resources