
    c	                        d Z ddlmZ ddlmZ ddlZddlZ ej        d          Z ej	        d          Z
 ej	        d	          Z ej	        d
          Z ej	        d          Z G d de          Z G d de          Zd ZdS )a  
Meta Data Extension for Python-Markdown
=======================================

This extension adds Meta Data handling to markdown.

See <https://Python-Markdown.github.io/extensions/meta_data>
for documentation.

Original code Copyright 2007-2008 [Waylan Limberg](http://achinghead.com).

All changes Copyright 2008-2014 The Python Markdown Project

License: [BSD](https://opensource.org/licenses/bsd-license.php)

   )	Extension   )Preprocessor    NMARKDOWNz1^[ ]{0,3}(?P<key>[A-Za-z0-9_-]+):\s*(?P<value>.*)z^[ ]{4,}(?P<value>.*)z^-{3}(\s.*)?z^(-{3}|\.{3})(\s.*)?c                       e Zd ZdZd Zd ZdS )MetaExtensionz* Meta-Data extension for Python-Markdown. c                     |                     |            || _        |j                            t	          |          dd           dS )z, Add MetaPreprocessor to Markdown instance. meta   N)registerExtensionmdpreprocessorsregisterMetaPreprocessor)selfr   s     8lib/python3.11/site-packages/markdown/extensions/meta.pyextendMarkdownzMetaExtension.extendMarkdown#   sG    
T"""
!!"22"6"6CCCCC    c                     i | j         _        d S )N)r   Meta)r   s    r   resetzMetaExtension.reset)   s    r   N)__name__
__module____qualname____doc__r   r    r   r   r	   r	       s;        44D D D    r   r	   c                       e Zd ZdZd ZdS )r   z Get Meta-Data. c                 |   i }d}|r5t                               |d                   r|                    d           |rq|                    d          }t                              |          }|                                dk    st
                              |          rn|r|                    d                                                                          }|                    d                                          }	 ||                             |           n# t          $ r	 |g||<   Y nzw xY wt                              |          }|rC|rA||                             |                    d                                                     n|                    d|           n|q|| j        _        |S )z- Parse Meta-Data and store in Markdown.Meta. Nr    keyvalue)BEGIN_REmatchpopMETA_REstripEND_REgrouplowerappendKeyErrorMETA_MORE_REinsertr   r   )r   linesr   r!   linem1r"   m2s           r   runzMetaPreprocessor.run0   s    	X^^E!H-- 	IIaLLL 	99Q<<Dt$$Bzz||r! V\\$%7%7  hhuoo++--3355))//11(I$$U++++ ( ( (!&DIII( "''-- # I$$RXXg%6%6%<%<%>%>????LLD)))'  	( s   D! !D43D4N)r   r   r   r   r3   r   r   r   r   r   -   s)            r   r   c                      t          di | S )Nr   )r	   )kwargss    r   makeExtensionr6   N   s    ""6"""r   )r   r    r   r   r   relogging	getLoggerlogcompiler&   r-   r#   r(   r	   r   r6   r   r   r   <module>r<      s   "       ( ( ( ( ( ( 				 g
## "*I
J
Jrz2332:o&&	+	,	,
 
 
 
 
Y 
 
 
    |   B# # # # #r   