o
    tf
                     @   sV   d dl Z ddlmZ ddlmZmZ dZe eZdd Z	dd	 Z
d
d Zdd ZdS )    N   )unikey)
parse_linkparse_link_labelz\[(?:\w+\(\w+\))+\]c                 C   s   | ddd }|d}g }|D ]}|d\}}|d|d|id q| }	t|j|	}
|
rD|D ]}|| q6t| |
|S |	t	|jk rVt
| ||	|}|rV|S |D ]}|| qX|	S )	Nr      )(rubyrt)typerawattrs)groupsplitappendend_ruby_rematchsrcappend_token
parse_rubylen_parse_ruby_link)inlinemstatetextitemstokensitemrbr   end_posZ
next_matchtoklink_pos r%   ]/var/www/html/software/conda/envs/catlas/lib/python3.10/site-packages/mistune/plugins/ruby.pyr   
   s.   

r   c                 C   s   |j | }|dkr"t|j |d \}}|r |d||d |S d S |dkrqt|j |d \}}|rs|ru|jd }t|}	||	}
|
rY|
d |
dd	}|d||d |S |D ]}|| q[|d
d| d d |S d S d S d S )Nr	   r   link)r   childrenr   [	ref_linksurltitle)r+   r,   r   ])r   r   )r   r   r   r   envr   get)r   r   posr   cr   r$   labelr*   keyr.   r#   r%   r%   r&   r   )   sD   



r   c                 C   s   d| d | d S )Nz
<ruby><rb>z	</rb><rt>z</rt></ruby>r%   )rendererr   r   r%   r%   r&   render_rubyN   s   r5   c                 C   s@   | j jdttdd | jr| jjdkr| jdt dS dS dS )uq  A mistune plugin to support ``<ruby>`` tag. The syntax is defined
    at https://lepture.com/en/2022/markdown-ruby-markup:

    .. code-block:: text

        [漢字(ㄏㄢˋㄗˋ)]
        [漢(ㄏㄢˋ)字(ㄗˋ)]

        [漢字(ㄏㄢˋㄗˋ)][link]
        [漢字(ㄏㄢˋㄗˋ)](/url "title")

        [link]: /url "title"

    :param md: Markdown instance
    r
   r'   )beforehtmlN)r   registerRUBY_PATTERNr   r4   NAMEr5   )mdr%   r%   r&   r
   R   s   r
   )reutilr   helpersr   r   r9   compiler   r   r   r5   r
   r%   r%   r%   r&   <module>   s    
%