
    -Be	                        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y)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y)MetaExtensionz* Meta-Data extension for Python-Markdown. c                     |j                  |        || _        |j                  j                  t	        |      dd       y)z, Add MetaPreprocessor to Markdown instance. meta   N)registerExtensionmdpreprocessorsregisterMetaPreprocessor)selfr   s     8lib/python3.12/site-packages/markdown/extensions/meta.pyextendMarkdownzMetaExtension.extendMarkdown#   s5    
T"
!!"22"6C    c                 &    i | j                   _        y )N)r   Meta)r   s    r   resetzMetaExtension.reset)   s    r   N)__name__
__module____qualname____doc__r   r    r   r   r	   r	       s    4Dr   r	   c                       e Zd ZdZd Zy)r   z Get Meta-Data. c                    i }d}|r)t         j                  |d         r|j                  d       |r|j                  d      }t        j                  |      }|j	                         dk(  st
        j                  |      rn|rb|j                  d      j                         j	                         }|j                  d      j	                         }	 ||   j                  |       n^t        j                  |      }|r4|r2||   j                  |j                  d      j	                                n|j                  d|       n|r|| j                  _        |S # t        $ r	 |g||<   Y (w xY w)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   s2   X^^E!H-IIaL99Q<Dt$Bzz|r!V\\$%7hhuo++-335)//1(I$$U+ "''-#I$$RXXg%6%<%<%>?LLD)' (    (!&DI(s   E E-,E-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rzz232::o&	+	,
Y 
| B#r   