o
    >Di^                     @   sZ   d Z ddlZddlmZ ddlmZ dZdZedj	eedZ
G d	d
 d
Zdd ZdS )u  
Pangu Extension
~~~~~~~~~~~~~~~

Separate CJK characters with latin letters.

Reference: `vinta's pangu project <https://github.com/vinta/pangu.js>`_

Example::

    input: 中国有13亿人口
    output: 中国有<span class="pangu"></span>13<span class="pangu"></span>亿人口

    from marko import Markdown

    markdown = Markdown(extensions=['pangu'])
    print(markdown(text))
    N)HTMLRenderer)MarkoExtensionzu\u2e80-\u2eff\u2f00-\u2fdf\u3040-\u309f\u30a0-\u30ff\u3100-\u312f\u3200-\u32ff\u3400-\u4dbf\u4e00-\u9fff\uf900-\ufaffz	a-zA-Z0-9z5((?<=[{cjk}])(?=[{latin}])|(?<=[{latin}])(?=[{cjk}])))cjklatinc                       s   e Zd Z fddZ  ZS )PanguRendererMixinc                    s&   t  |}t| ts|S td|S )Nz<span class="pangu"></span>)superrender_raw_text
isinstancer   PANGU_REsub)selfelementrv	__class__ H/var/www/Datamplify/venv/lib/python3.10/site-packages/marko/ext/pangu.pyr   &   s   
z"PanguRendererMixin.render_raw_text)__name__
__module____qualname__r   __classcell__r   r   r   r   r   %   s    r   c                   C   s   t tgdS )N)renderer_mixins)r   r   r   r   r   r   make_extension-   s   r   )__doc__remarkor   marko.helpersr   CJK_RELATIN_REcompileformatr
   r   r   r   r   r   r   <module>   s    