U
    Sh                      @   sR   d Z ddlmZ ddlmZ ddlmZ eddddZeeee	e	d	d
dZ
dS )zProcess front matter.    )
MarkdownIt)
StateBlock)is_code_blockN)mdreturnc              
   C   s$   | j jddtdddddgi dS )	a	  Plugin ported from
    `markdown-it-front-matter <https://github.com/ParkSB/markdown-it-front-matter>`__.

    It parses initial metadata, stored between opening/closing dashes:

    .. code-block:: md

        ---
        valid-front-matter: true
        ---

    tablefront_matterZaltZ	paragraph	referenceZ
blockquotelistN)blockZrulerbefore_front_matter_rule)r    r   U/root/rtd-docs/venv/lib/python3.8/site-packages/mdit_py_plugins/front_matter/index.pyfront_matter_plugin	   s    r   )state	startLineendLinesilentr   c                 C   s  d}d}d}| j | | j|  }| j| }t| j}	|dksJ| jd |krNdS |d }
|
|kr|
|	k r| j|
 |krvq|
d7 }
qV|
| }||k rdS |rdS |}|d7 }||krdS | j|| dkrʐq| j | | j|  }| j| }||k r| j| | jk rq| j| |krqt| |r(q|d }
|
|k rZ| j|
 |krNqZ|
d7 }
q0|
| |k rjq| |
}
|
|k rqd}qq| j	}| j
}d| _	|| _
| d	d
d}d|_|| |_| j| j |d  | j|d   |_d|_|| _	|| _
||rdnd | _|| jg|_dS )N-   Fr      Tz...	containerr    )ZbMarksZtShiftZeMarkslensrcZsCountZ	blkIndentr   Z
skipSpacesZ
parentTypeZlineMaxpushZhiddenmarkupcontentr   linemap)r   r   r   r   Z
marker_chrZmin_markersZauto_closedstartmaximumZsrc_lenposZmarker_countZnextLineZ
old_parentZold_line_maxtokenr   r   r   r      st    







$r   )__doc__Zmarkdown_itr   Zmarkdown_it.rules_blockr   Zmdit_py_plugins.utilsr   r   intboolr   r   r   r   r   <module>   s      