ó
§‰]c           @   su   d  Z  d d l m Z d d l m Z d d l m Z m Z m Z d d l	 m
 Z
 d „  Z d e
 f d	 „  ƒ  YZ d
 S(   s   HTML slide show Exporter classiÿÿÿÿ(   t   deepcopy(   t   warn(   t   Boolt   Unicodet   defaulti   (   t   HTMLExporterc         C   sí  t  |  ƒ }  x8 |  j D]- } | j j d i  ƒ j d d ƒ | j _ q Wxo t |  j ƒ D]R \ } } | j j d d h k rW d | j _ t | j _ t | j _ | } PqW qW Wt	 d ƒ ‚ t
 } xî t |  j | d d	 | d ƒD]Ë \ } } |  j | d } | j j d k r+t | j _ t | j _ n  | j j d
 d h k rp| | j _ t | j _ t | j _ t
 } qá | j j d k rá t | j _ | r£t | j _ q¬t } qá qá W| |  j d j _ t |  j d j _ t |  j d j _ |  S(   s>   Add some convenience metadata on cells for the slide template.t	   slideshowt
   slide_typet   -t   notest   skipt   slides-   All cells are hidden, cannot create slideshowi   t   startt   subslidet   fragmentiÿÿÿÿ(   R    t   cellst   metadatat   getR   t	   enumeratet   Truet   slide_startt   subslide_startt
   ValueErrort   Falset	   slide_endt   fragment_endt   subslide_endt   fragment_start(   t   nbt   cellt   indext   first_slide_ixt   in_fragmentt   previous_cell(    (    s9   lib/python2.7/site-packages/nbconvert/exporters/slides.pyt   prepare   s@    +	t   SlidesExporterc           B   s4  e  Z d  Z d Z e d d ƒ j d e ƒ Z e d ƒ d „  ƒ Z	 e d d d ƒj d e ƒ Z
 e d	 d d
 ƒj d e ƒ Z e e d d ƒj d e ƒ Z e d d d ƒj d e ƒ Z e d d d ƒj d e ƒ Z e d d d ƒj d e ƒ Z e d ƒ d „  ƒ Z e d ƒ d „  ƒ Z d Z d d „ Z RS(   s"   Exports HTML slides with reveal.jss   Reveal.js slidest   helpsG  The URL prefix for reveal.js (version 3.x).
        This defaults to the reveal CDN, but can be any url pointing to a copy 
        of reveal.js. 
        
        For speaker notes to work, this must be a relative path to a local 
        copy of reveal.js: e.g., "reveal.js".
        
        If a relative path is given, it must be a subdirectory of the
        current directory (from which the server is run).
        
        See the usage documentation
        (https://nbconvert.readthedocs.io/en/latest/usage.html#reveal-js-html-slideshow)
        for more details.
        t   configt   reveal_url_prefixc         C   s*   d |  j  k r& t d ƒ |  j  j j Sd S(   Ns!   RevealHelpPreprocessor.url_prefixsd   Please update RevealHelpPreprocessor.url_prefix to SlidesExporter.reveal_url_prefix in config files.s6   https://cdnjs.cloudflare.com/ajax/libs/reveal.js/3.5.0(   R%   R   t   RevealHelpPreprocessort
   url_prefix(   t   self(    (    s9   lib/python2.7/site-packages/nbconvert/exporters/slides.pyt   _reveal_url_prefix_defaulta   s    
t   simples(  
        Name of the reveal.js theme to use.

        We look for a file with this name under
        ``reveal_url_prefix``/css/theme/``reveal_theme``.css.

        https://github.com/hakimel/reveal.js/tree/master/css/theme has
        list of themes that ship by default with reveal.js.
        R   sº   
        Name of the reveal.js transition to use.

        The list of transitions that ships by default with reveal.js are:
        none, fade, slide, convex, concave and zoom.
        s=   
        If True, enable scrolling within each slide
        sG   https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.jssW   
        URL to load require.js from.

        Defaults to loading from cdnjs.
        sA   https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.jssS   
        URL to load jQuery from.

        Defaults to loading from cdnjs.
        sN   https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.csssY   
        URL to load font awesome from.

        Defaults to loading from cdnjs.
        t   file_extensionc         C   s   d S(   Ns   .slides.html(    (   R)   (    (    s9   lib/python2.7/site-packages/nbconvert/exporters/slides.pyt   _file_extension_defaultŸ   s    t   template_filec         C   s   d S(   Ns   slides_reveal.tpl(    (   R)   (    (    s9   lib/python2.7/site-packages/nbconvert/exporters/slides.pyt   _template_file_default£   s    s	   text/htmlc         K   sÊ   |  j  | ƒ } d | k r( i  | d <n  |  j | d d <|  j | d d <|  j | d d <|  j | d d <|  j | d d <|  j | d d <|  j | d d <t | ƒ } t	 t
 |  ƒ j | d	 | | S(
   Nt   revealR(   t   themet
   transitiont   scrollt   require_js_urlt
   jquery_urlt   font_awesome_urlt	   resources(   t   _init_resourcesR&   t   reveal_themet   reveal_transitiont   reveal_scrollR4   R5   R6   R"   t   superR#   t   from_notebook_node(   R)   R   R7   t   kw(    (    s9   lib/python2.7/site-packages/nbconvert/exporters/slides.pyR=   ©   s    N(   t   __name__t
   __module__t   __doc__t   export_from_notebookR   t   tagR   R&   R   R*   R9   R:   R   R   R;   R4   R5   R6   R-   R/   t   output_mimetypet   NoneR=   (    (    (    s9   lib/python2.7/site-packages/nbconvert/exporters/slides.pyR#   K   s>   											N(   RA   t   copyR    t   warningsR   t	   traitletsR   R   R   t   htmlR   R"   R#   (    (    (    s9   lib/python2.7/site-packages/nbconvert/exporters/slides.pyt   <module>   s   	>