U
    \ªShE  ã                   @  sv   d Z ddlmZ ddlmZmZ ddlmZ ddlm	Z	 ddl
mZ erTddlmZ e	 e¡ZeZG dd	„ d	eƒZd
S )z/docutils writers handling Sphinx' custom nodes.é    )Úannotations)ÚTYPE_CHECKINGÚcast)ÚWriter)Úlogging)ÚHTML5Translator)ÚStandaloneHTMLBuilderc                      s:   e Zd ZddiZdddœ‡ fdd„Zddœd	d
„Z‡  ZS )Ú
HTMLWriterZembed_stylesheetFr   ÚNone)ÚbuilderÚreturnc                   s   t ƒ  ¡  || _d S )N)ÚsuperÚ__init__r   )Úselfr   ©Ú	__class__© úF/root/rtd-docs/venv/lib/python3.8/site-packages/sphinx/writers/html.pyr      s    
zHTMLWriter.__init__)r   c                 C  sp   | j  | j| j ¡}tt|ƒ| _| j |¡ | j ¡ | _dD ]}t	| |t
||d ƒƒ q:d | jjdd … ¡| _d S )N)Zhead_prefixÚ
stylesheetÚheadZbody_prefixZbody_pre_docinfoZdocinfoÚbodyÚfragmentZbody_suffixÚmetaÚtitleÚsubtitleÚheaderÚfooterZhtml_prologZ	html_headZ
html_titleZhtml_subtitleZ	html_bodyÚ é   )r   Zcreate_translatorZdocumentr   r   ÚvisitorZ	walkaboutZastextÚoutputÚsetattrÚgetattrÚjoinr   Z
clean_meta)r   r   Úattrr   r   r   Ú	translate    s    zHTMLWriter.translate)Ú__name__Ú
__module__Ú__qualname__Zsettings_default_overridesr   r%   Ú__classcell__r   r   r   r   r	      s   r	   N)Ú__doc__Ú
__future__r   Útypingr   r   Zdocutils.writers.html4css1r   Zsphinx.utilr   Zsphinx.writers.html5r   Zsphinx.builders.htmlr   Ú	getLoggerr&   ÚloggerZHTMLTranslatorr	   r   r   r   r   Ú<module>   s   
