B
    öÀ„\í  ã               @   s`   d Z ddlmZ ddlZddlmZ ddlmZ ddlm	Z	 dd„ Z
d	d
„ Zdd„ Zdd„ ZdS )zô
    sphinx.ext.jsmath
    ~~~~~~~~~~~~~~~~~

    Set up everything for use of JSMath to display math in HTML
    via JavaScript.

    :copyright: Copyright 2007-2019 by the Sphinx team, see AUTHORS.
    :license: BSD, see LICENSE for details.
é    )ÚnodesN)ÚExtensionError)Ú_)Úget_node_equation_numberc             C   s>   | j  | j|dddd¡ | j  |  | ¡ ¡d ¡ tj‚d S )NÚspanÚ zmath notranslate nohighlight)ÚCLASSz</span>)ÚbodyÚappendÚstarttagÚencodeÚastextr   ÚSkipNode)ÚselfÚnode© r   ú0lib/python3.7/site-packages/sphinx/ext/jsmath.pyÚhtml_visit_math   s    r   c             C   s(  |d rH| j  | j|ddd¡ | j  |  | ¡ ¡¡ | j  d¡ tj‚xÔt| ¡  d¡ƒD ]¾\}}|  |¡}|dkrÎ|d r´t	| |ƒ}| j  d	| ¡ |  
|td
ƒ¡ | j  d¡ | j  | j|ddd¡ n| j  d¡ d|ksìd|kr| j  d| d ¡ n| j  |¡ | j  d¡ q\W tj‚d S )NZnowrapZdivzmath notranslate nohighlight)r   z</div>z

r   Únumberz<span class="eqno">(%s)zPermalink to this equationz</span>z<div class="math">ú&z\\z\begin{split}z\end{split}z</div>
)r	   r
   r   r   r   r   r   Ú	enumerateÚsplitr   Zadd_permalink_refr   )r   r   ÚiÚpartr   r   r   r   Úhtml_visit_displaymath"   s(    

r   c             C   sN   | j jdks| j jdkrd S | jjs,tdƒ‚| d¡ ¡ rJ| j  | jj¡ d S )NZhtmlÚjsmathzEjsmath_path config value must be set for the jsmath extension to workZmath)	ZbuilderÚformatZmath_renderer_nameZconfigÚjsmath_pathr   Z
get_domainZhas_equationsZadd_js_file)ÚappÚenvr   r   r   Úinstall_jsmath>   s    r    c             C   s<   |   dtd ftd f¡ |  ddd¡ |  dt¡ tjddœS )Nr   r   r   Fzenv-check-consistencyT)ÚversionZparallel_read_safe)Zadd_html_math_rendererr   r   Zadd_config_valueZconnectr    ÚsphinxZ__display_version__)r   r   r   r   ÚsetupK   s    
r#   )Ú__doc__Zdocutilsr   r"   Zsphinx.errorsr   Zsphinx.localer   Zsphinx.util.mathr   r   r   r    r#   r   r   r   r   Ú<module>   s   	