ó
    …~iu  ã                  ó|   • S r SSKJr  SSKrSSKJrJrJr  SSKJ	r	  SSK
Jr  \(       a  SSKJrJr   " S	 S
\5      rg)z
HTML renderer
é    )ÚannotationsN)ÚTYPE_CHECKINGÚAnyÚcast)Úquoteé   )ÚRenderer)ÚblockÚinlinec                  ó&  • \ rS rSrSrSS jrSS jrS S jrS!S jrS"S jr	S#S jr
S$S	 jrS%S
 jrS&S jrS'S jrS(S jrS)S jrS*S jrS+S jrS,S jrS-S jrS.S jrS/S jrS0S jrS1S jrS2S jrS3S jrS4S jr\S5S j5       r\S5S j5       rSrg)6ÚHTMLRendereré   z,The most common renderer for markdown parserc                óV   • U R                  U5      nUR                  (       a  U$ SU S3$ )Nz<p>z</p>
)Úrender_childrenÚ_tight)ÚselfÚelementÚchildrens      ÚP/home/mande/repo/quber/.venv/lib/python3.13/site-packages/marko/html_renderer.pyÚrender_paragraphÚHTMLRenderer.render_paragraph   s-   € Ø×'Ñ'¨Ó0ˆØ�>�>ØˆOà˜˜
 &Ð)Ð)ó    c                ó´   • UR                   (       a%  SnUR                  S:w  a  SUR                   S3OSnOSnSnSR                  X#U R                  U5      S9$ )	NÚolr   z start="Ú"Ú Úulz"<{tag}{extra}>
{children}</{tag}>
)ÚtagÚextrar   )ÚorderedÚstartÚformatr   )r   r   r   r   s       r   Úrender_listÚHTMLRenderer.render_list   s_   € Ø�?�?ØˆCØ3:·=±=ÀAÓ3E�h˜wŸ}™}˜o¨QÑ/È2‰EàˆCØˆEØ5×<Ñ<Ø¨4×+?Ñ+?ÀÓ+Hð =ð 
ð 	
r   c                óª   • [        UR                  5      S:X  a"  [        UR                  S   SS5      (       a  SnOSnSU U R                  U5       S3$ )	Nr   r   r   Fr   Ú
z<li>z</li>
)Úlenr   Úgetattrr   )r   r   Úseps      r   Úrender_list_itemÚHTMLRenderer.render_list_item&   sX   € Üˆw×ÑÓ  AÓ%¬'°'×2BÑ2BÀ1Ñ2EÀxÐQV×*WÑ*WØ‰CàˆCØ�c�U˜4×/Ñ/°Ó8Ð9¸ÐAÐAr   c                ó,   • SU R                  U5       S3$ )Nz<blockquote>
z</blockquote>
©r   ©r   r   s     r   Úrender_quoteÚHTMLRenderer.render_quote-   s   € Ø × 4Ñ 4°WÓ =Ð>¸oÐNÐNr   c                óà   • UR                   (       a  SU R                  UR                   5       S3OSnSR                  U[        R                  " UR
                  S   R
                  5      5      $ )Nz class="language-r   r   z<pre><code{}>{}</code></pre>
r   )ÚlangÚescape_htmlr"   ÚhtmlÚescaper   )r   r   r2   s      r   Úrender_fenced_codeÚHTMLRenderer.render_fenced_code0   se   € ð �|�|ð   × 0Ñ 0°·±Ó >Ð?¸qÑAàð 	ð
 0×6Ñ6Ø”$—+’+˜g×.Ñ.¨qÑ1×:Ñ:Ó;ó
ð 	
r   c                ó8   • U R                  [        SU5      5      $ )Núblock.FencedCode)r6   r   r.   s     r   Úrender_code_blockÚHTMLRenderer.render_code_block:   s   € Ø×&Ñ&¤tÐ,>ÀÓ'HÓIÐIr   c                ó   • UR                   $ ©N)Úbodyr.   s     r   Úrender_html_blockÚHTMLRenderer.render_html_block=   s   € Ø�|‰|Ðr   c                ó   • g)Nz<hr />
© r.   s     r   Úrender_thematic_breakÚ"HTMLRenderer.render_thematic_break@   s   € Ør   c                óT   • SR                  UR                  U R                  U5      S9$ )Nz <h{level}>{children}</h{level}>
)Úlevelr   )r"   rF   r   r.   s     r   Úrender_headingÚHTMLRenderer.render_headingC   s.   € Ø2×9Ñ9Ø—-‘-¨$×*>Ñ*>¸wÓ*Gð :ð 
ð 	
r   c                ó8   • U R                  [        SU5      5      $ )Núblock.Heading)rG   r   r.   s     r   Úrender_setext_headingÚ"HTMLRenderer.render_setext_headingH   s   € Ø×"Ñ"¤4¨¸Ó#AÓBÐBr   c                ó   • g©Nr   rB   r.   s     r   Úrender_blank_lineÚHTMLRenderer.render_blank_lineK   ó   € Ør   c                ó   • grN   rB   r.   s     r   Úrender_link_ref_defÚ HTMLRenderer.render_link_ref_defN   rQ   r   c                ó,   • SU R                  U5       S3$ )Nz<em>z</em>r-   r.   s     r   Úrender_emphasisÚHTMLRenderer.render_emphasisQ   s   € Ø�d×*Ñ*¨7Ó3Ð4°EÐ:Ð:r   c                ó,   • SU R                  U5       S3$ )Nz<strong>z	</strong>r-   r.   s     r   Úrender_strong_emphasisÚ#HTMLRenderer.render_strong_emphasisT   s   € Ø˜$×.Ñ.¨wÓ7Ð8¸	ÐBÐBr   c                ó6   • [        [        UR                  5      $ r=   )r   Ústrr   r.   s     r   Úrender_inline_htmlÚHTMLRenderer.render_inline_htmlW   s   € Ü”C˜×)Ñ)Ó*Ð*r   c                ó˜   • [        UR                  [        5      (       a  U R                  UR                  5      $ U R	                  U5      $ r=   )Ú
isinstancer   r\   r3   r   r.   s     r   Úrender_plain_textÚHTMLRenderer.render_plain_textZ   s=   € Ü�g×&Ñ&¬×,Ñ,Ø×#Ñ# G×$4Ñ$4Ó5Ð5Ø×#Ñ# GÓ,Ð,r   c                óæ   • SnUR                   (       a  SU R                  UR                   5       S3OSnU R                  UR                  5      nU R	                  U5      nUR                  XCU5      $ )Nz<a href="{}"{}>{}</a>ú title="r   r   )Útitler3   Ú
escape_urlÚdestr   r"   )r   r   Útemplatere   Úurlr>   s         r   Úrender_linkÚHTMLRenderer.render_link_   sa   € Ø*ˆØAHÇÇ�(˜4×+Ñ+¨G¯M©MÓ:Ð;¸1Ñ=ÐTVˆØ�o‰o˜gŸl™lÓ+ˆØ×#Ñ# GÓ,ˆØ�‰˜s¨4Ó0Ð0r   c                ó8   • U R                  [        SU5      5      $ )Núinline.Link)rj   r   r.   s     r   Úrender_auto_linkÚHTMLRenderer.render_auto_linkf   s   € Ø×Ñ¤ ]°GÓ <Ó=Ð=r   c                ó,  • SnUR                   (       a  SU R                  UR                   5       S3OSnU R                  UR                  5      nU R                  nU R
                  U l        U R                  U5      nXPl        UR                  XFU5      $ )Nz<img src="{}" alt="{}"{} />rd   r   r   )re   r3   rf   rg   Úrenderra   r   r"   )r   r   rh   re   ri   Úrender_funcr>   s          r   Úrender_imageÚHTMLRenderer.render_imagei   s|   € Ø0ˆØAHÇÇ�(˜4×+Ñ+¨G¯M©MÓ:Ð;¸1Ñ=ÐTVˆØ�o‰o˜gŸl™lÓ+ˆØ—k‘kˆØ×,Ñ,ˆŒØ×#Ñ# GÓ,ˆØ!ŒØ�‰˜s¨%Ó0Ð0r   c                ó8   • U R                  [        SU5      5      $ )Núinline.RawText)Úrender_raw_textr   r.   s     r   Úrender_literalÚHTMLRenderer.render_literals   s   € Ø×#Ñ#¤DÐ)9¸7Ó$CÓDÐDr   c                ó8   • U R                  UR                  5      $ r=   )r3   r   r.   s     r   rw   ÚHTMLRenderer.render_raw_textv   s   € Ø×Ñ × 0Ñ 0Ó1Ð1r   c                ó(   • UR                   (       a  gg)Nr&   z<br />
)Úsoftr.   s     r   Úrender_line_breakÚHTMLRenderer.render_line_breaky   s   € Ø�<�<ØØr   c                óf   • S[         R                  " [        [        UR                  5      5       S3$ )Nz<code>z</code>)r4   r5   r   r\   r   r.   s     r   Úrender_code_spanÚHTMLRenderer.render_code_span~   s(   € ØœŸš¤D¬¨g×.>Ñ.>Ó$?Ó@ÐAÀÐIÐIr   c                óv   • [         R                  " [         R                  " U 5      5      R                  SS5      $ )Nz&#x27;Ú')r4   r5   ÚunescapeÚreplace©Úraws    r   r3   ÚHTMLRenderer.escape_html�   s'   € ä�{Š{œ4Ÿ=š=¨Ó-Ó.×6Ñ6°xÀÓEÐEr   c                óf   • [         R                  " [        [         R                  " U 5      SS95      $ )z?
Escape urls to prevent code injection craziness. (Hopefully.)
z/#:()*?=%@+,&)Úsafe)r4   r5   r   r…   r‡   s    r   rf   ÚHTMLRenderer.escape_url…   s#   € ô
 �{Š{œ5¤§¢¨sÓ!3¸/ÑJÓKÐKr   )rq   N)r   zblock.ParagraphÚreturnr\   )r   z
block.Listr�   r\   )r   zblock.ListItemr�   r\   )r   zblock.Quoter�   r\   )r   r9   r�   r\   )r   zblock.CodeBlockr�   r\   )r   zblock.HTMLBlockr�   r\   )r   zblock.ThematicBreakr�   r\   )r   rJ   r�   r\   )r   zblock.SetextHeadingr�   r\   )r   zblock.BlankLiner�   r\   )r   zblock.LinkRefDefr�   r\   )r   zinline.Emphasisr�   r\   )r   zinline.StrongEmphasisr�   r\   )r   zinline.InlineHTMLr�   r\   )r   r   r�   r\   )r   rm   r�   r\   )r   zinline.AutoLinkr�   r\   )r   zinline.Imager�   r\   )r   zinline.Literalr�   r\   )r   rv   r�   r\   )r   zinline.LineBreakr�   r\   )r   zinline.CodeSpanr�   r\   )rˆ   r\   r�   r\   ) Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r#   r*   r/   r6   r:   r?   rC   rG   rK   rO   rS   rV   rY   r]   ra   rj   rn   rs   rx   rw   r~   r�   Ústaticmethodr3   rf   Ú__static_attributes__rB   r   r   r   r      s«   † Ù6ô*ô	
ôBôOô
ôJôôô
ô
Côôô;ôCô+ô-ô
1ô>ô1ôEô2ôô
Jð óFó ðFð óLó óLr   r   )r’   Ú
__future__r   r4   Útypingr   r   r   Úurllib.parser   Úrendererr	   r   r
   r   r   rB   r   r   Ú<module>r™      s4   ðñõ #ã ß +Ñ +Ý å æßôyL�8õ yLr   