U
    \ªShà  ã                   @  sŠ   d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
 ddlmZ ddlmZmZ e e¡ZG d	d
„ d
e
ƒZdddœdd„ZdS )zDirectory HTML builders.é    )Úannotations)Úpath)ÚAny)ÚSphinx)ÚStandaloneHTMLBuilder)Úlogging)ÚSEPÚos_pathc                   @  s8   e Zd ZdZdZdddddœdd„Zddd	œd
d„ZdS )ÚDirectoryHTMLBuilderz²
    A StandaloneHTMLBuilder that creates all HTML pages as "index.html" in
    a directory given by their pagename, so that generated URLs don't have
    ``.html`` in them.
    ZdirhtmlNÚstrz
str | None)ÚdocnameÚtypÚreturnc                 C  s.   |dkrdS |  td ¡r&|d d… S |t S )NÚindexÚ éûÿÿÿ)Úendswithr   )Úselfr   r   © r   úJ/root/rtd-docs/venv/lib/python3.8/site-packages/sphinx/builders/dirhtml.pyÚget_target_uri   s
    z#DirectoryHTMLBuilder.get_target_uri)Úpagenamer   c                 C  sN   |dks|  td ¡r0t | jt|ƒ| j ¡}nt | jt|ƒd| j ¡}|S )Nr   )r   r   r   ÚjoinZoutdirr	   Z
out_suffix)r   r   Zoutfilenamer   r   r   Úget_outfilename   s    ÿÿz$DirectoryHTMLBuilder.get_outfilename)N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Únamer   r   r   r   r   r   r
      s   r
   r   zdict[str, Any])Úappr   c                 C  s    |   d¡ |  t¡ ddddœS )Nzsphinx.builders.htmlÚbuiltinT)ÚversionZparallel_read_safeZparallel_write_safe)Zsetup_extensionZadd_builderr
   )r   r   r   r   Úsetup*   s    

ýr"   N)r   Ú
__future__r   Úosr   Útypingr   Zsphinx.applicationr   Zsphinx.builders.htmlr   Zsphinx.utilr   Zsphinx.util.osutilr   r	   Ú	getLoggerr   Úloggerr
   r"   r   r   r   r   Ú<module>   s   
