o
    tfJ                     @   sv   d dl Z d dlmZmZ d dlmZ ddlmZ ddlm	Z	m
Z
 ddlmZ e d	e jZG d
d de	Zdd ZdS )    N)DictAny)indent   render_list   )BaseRenderer
BlockState)	strip_endz^[`~]+c                   @   sx  e Zd ZdZdZdefddZdefddZdefdd	Zd
e	e
ef dede
fddZd
e	e
ef dede
fddZd
e	e
ef dede
fddZd
e	e
ef dede
fddZd
e	e
ef dede
fddZd
e	e
ef dede
fddZd
e	e
ef dede
fddZd
e	e
ef dede
fddZd
e	e
ef dede
fddZd
e	e
ef dede
fddZd
e	e
ef dede
fd d!Zd
e	e
ef dede
fd"d#Zd
e	e
ef dede
fd$d%Zd
e	e
ef dede
fd&d'Zd
e	e
ef dede
fd(d)Zd
e	e
ef dede
fd*d+Zd
e	e
ef dede
fd,d-Zd
e	e
ef dede
fd.d/Zd
e	e
ef dede
fd0d1Zd2S )3MarkdownRendererz&A renderer to re-format Markdown text.markdownstatec                 C   s,   |  ||}|d| |d 7 }t|S )N


)render_tokensjoinrender_referrencesr   )selftokensr   out r   c/var/www/html/software/conda/envs/catlas/lib/python3.10/site-packages/mistune/renderers/markdown.py__call__   s   zMarkdownRenderer.__call__c                 c   s^    |j d }|D ]$}|| }d|d  d |d  }|d}|r)|d| d 7 }|V  qd S )	N	ref_links[labelz]: urltitle "")envget)r   r   r   keyattrstextr   r   r   r   r      s   

z#MarkdownRenderer.render_referrencesc                 C   s   |d }|  ||S )Nchildren)r   )r   tokenr   r&   r   r   r   render_children   s   z MarkdownRenderer.render_childrenr'   returnc                 C      |d S Nrawr   r   r'   r   r   r   r   r%   #      zMarkdownRenderer.textc                 C      d|  || d S )N*r(   r-   r   r   r   emphasis&      zMarkdownRenderer.emphasisc                 C   r/   )Nz**r1   r-   r   r   r   strong)   r3   zMarkdownRenderer.strongc           	      C   s   | d}| ||}d| d }|r|d | d S |d }|d }| d}||kr4|s4d| d S d	| |krB|sBd| d S |d
7 }d
|v sNd|v rW|d| d 7 }n||7 }|re|d| d 7 }|d S )Nr   r   ]r$   r   r   <>zmailto:()r   r    )r"   r(   )	r   r'   r   r   r%   r   r$   r   r   r   r   r   link,   s&   

zMarkdownRenderer.linkc                 C   s   d|  || S )N!)r:   r-   r   r   r   imageD      zMarkdownRenderer.imagec                 C   s   d|d  d S )N`r,   r   r-   r   r   r   codespanG   r=   zMarkdownRenderer.codespanc                 C      dS )Nz  
r   r-   r   r   r   	linebreakJ      zMarkdownRenderer.linebreakc                 C   r@   Nr   r   r-   r   r   r   	softbreakM   rB   zMarkdownRenderer.softbreakc                 C   r@   N r   r-   r   r   r   
blank_lineP   rB   zMarkdownRenderer.blank_linec                 C   r*   r+   r   r-   r   r   r   inline_htmlS   r.   zMarkdownRenderer.inline_htmlc                 C   s   |  ||}|d S )Nr   r1   r   r'   r   r%   r   r   r   	paragraphV   s   zMarkdownRenderer.paragraphc                 C   s0   |d d }d| }|  ||}|d | d S )Nr$   level# r   r1   )r   r'   r   rK   markerr%   r   r   r   headingZ   s   zMarkdownRenderer.headingc                 C   r@   )Nz***

r   r-   r   r   r   thematic_break`   rB   zMarkdownRenderer.thematic_breakc                 C   s   |  ||d S rC   r1   r-   r   r   r   
block_textc   r=   zMarkdownRenderer.block_textc                 C   sf   | di }| dd}|d }|r|d dkr|d7 }| d}|s't|}|| d | | d S )	Nr$   inforF   r,   r   rN   r   )r"   _get_fenced_marker)r   r'   r   r$   rR   coderN   r   r   r   
block_codef   s   
zMarkdownRenderer.block_codec                 C   s   t | ||d}|d S )Nz> r   )r   r(   rI   r   r   r   block_quoter   s   zMarkdownRenderer.block_quotec                 C   s   |d d S )Nr,   r   r   r-   r   r   r   
block_htmlv      zMarkdownRenderer.block_htmlc                 C   r@   rE   r   r-   r   r   r   block_errory   rB   zMarkdownRenderer.block_errorc                 C   s   t | ||S )Nr   r-   r   r   r   list|   rY   zMarkdownRenderer.listN)__name__
__module____qualname____doc__NAMEr
   r   r   r(   r   strr   r%   r2   r4   r:   r<   r?   rA   rD   rG   rH   rJ   rO   rP   rQ   rV   rW   rX   rZ   r[   r   r   r   r   r      s2    
"r   c                 C   sn   t | }|s	dS g }g }|D ]}|d dkr|t| q|t| q|s+dS |s/dS dt|d  S )Nz```r   r>   z~~~r   )	fenced_refindallappendlenmax)rU   foundZticksZwavessr   r   r   rT      s   
rT   )retypingr   r   textwrapr   Z_listr   corer	   r
   utilr   compileMrb   r   rT   r   r   r   r   <module>   s    u