
    $g0                       d dl mZ d dlZd dlZd dlZd dlmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZ d dlmZmZ d d	lmZ d d
lmZmZ d dlmZ d dlmZ d dlmZ d dlmZ ddlmZ ddlmZ  G d de          Z  G d de          Z! G d de          Z" G d de"          Z# G d de"          Z$d dZ% ej&        d          Z'dS )!    )annotationsN)copy)Markdown)Author)MkDocsConfig)PluginError)FileFiles)Section)Page_RelativePathTreeprocessor)get_toc)YAML_RE)Match)
SafeLoader   )
PostConfig)ExcerptTreeprocessorc                  (     e Zd Zd fdZddZ xZS )	Postfiler	   configr   c                    t                                          d ||           t          j                            |j                  }t          j                            |j        |          }t          |j        d          5 }|                                 _	        t          j         j	                  }|st          d| d| d          	 t          j        |                    d          t                     pi  _         j	        |                                d                              d           _	        n*# t(          $ r}t          d| d| d|           d }~ww xY w	 d d d            n# 1 swxY w Y   t+          |j                   _         j                             fd	t1           j                                                  t1           j                                                  z  D                         j                                        \  }}	|	D ]\  }
}t6                              |            |D ]\  }}t          d
| d| d| d|           d  _        g  _        g  _         j                             dd            j        !                    dg            j        d<   d j        d         vr" j        d         "                    d           d S d S )Nz	utf-8-sig)encodingz Error reading metadata of post 'z' in 'z4':
Expected metadata to be defined but found nothingr   
z':
c                ,    i | ]}|j         |         S  )meta).0keyselfs     h/var/www/html/netbox-4.1.3/venv/lib/python3.11/site-packages/material/plugins/blog/structure/__init__.py
<dictcomp>z!Post.__init__.<locals>.<dictcomp>]   s.     
 
 
$'C3
 
 
    zError reading metadata 'z' of post 'templatezblog-post.htmlhide
navigation)#super__init__ospathrelpathdocs_dirabs_src_pathopenreadmarkdownr   matchr   yamlloadgroupr   r   endlstrip	Exceptionr   r   	load_dictsetkeysvalidatelogwarningexcerptauthors
categories
setdefaultgetappend)r!   r   r   docsr+   fr2   eerrorswarnings_wk	__class__s   `            r"   r)   zPost.__init__4   s}   tV,,, wv//wt0$77 $#<<< 	FFHHDM #=77E !It I I4 I I I  
 Iekk!nnjAAGR	 $eiikkll ; B B4 H H    !t  4     	 )	 	 	 	 	 	 	 	 	 	 	 	 	 	 	@ #-T->"?"? 
 
 
 
DINN$$%%DK$$&&''(
 
 
 	 	 	  ;//11 	 	DAqKKNNNN 	 	DAq1    T      !% &(*, 		Z)9::: !IMM&"55	&ty000If$$\22222 10s8   AE6A-D?>E6?
E&	E!!E&&E66E:=E:c                    d S Nr   )r!   r   s     r"   read_sourcezPost.read_source   s    r$   )r   r	   r   r   r   r   )__name__
__module____qualname__r)   rP   __classcell__rM   s   @r"   r   r   0   sX        J3 J3 J3 J3 J3 J3\       r$   r   c                      e Zd ZddZddZdS )Excerptpostr   r   r   filesr
   c                   t          |j                  | _        || _        |                     |j                   |j        | _        |j        | _        g | _        g | _        d | _	        t          |          }t          |j        |j                  | _        | j        j                            t#          |          dd           | j        j                            t%          | j        ||          dd           d S )N)
extensionsextension_configsr?   r   r,   r   )r   r   rY   _set_canonical_urlsite_urlr   r   r@   rA   more_patchr   markdown_extensionsmdx_configsmdtreeprocessorsregisterr   r   )r!   rY   r   rZ   s       r"   r)   zExcerpt.__init__   s    OO		 	000 ki	 &(*, 	 3 & 2
 
 
 	'' &&	
 	
 	
 	''&ty%@@	
 	
 	
 	
 	
r$   pager   	separatorstrc                T   |j         | j        _         | j        j                            d          }| j        j        |         }||_        | j        j        | _        | j        j        s.d	                    d| j        j
         | j        g          | _        | j                            | j                  | _        | j                            |d          ^| _        }|r|d         | _        t          t!          | j        dg                     | _        | j        j         | j        _         d S )Nr?   z

z# r   r   
toc_tokens)urlr   rd   re   get_index_for_namebaserY   r1   _title_from_renderjointitleconvertcontentsplitr`   r   getattrtoc)r!   rg   rh   at	processorr`   s         r"   renderzExcerpt.render   s    	 W#66yAA*.'*@*D		 	*y+ 	Q"KK)?dio)?)?(OPPDM wt}55"l00A>>t 	 QDI 747L"==>>		r$   N)rY   r   r   r   rZ   r
   )rg   r   rh   ri   )rR   rS   rT   r)   ry   r   r$   r"   rX   rX      s=        +
 +
 +
 +
b& & & & & &r$   rX   c                  8     e Zd ZU ded<   d fd	Zd fd
Z xZS )ViewzView | Sectionparentname
str | Noner   r	   r   r   c                    t                                          d ||           || _        g | _        g | _        g | _        d S rO   )r(   r)   r}   postsviewspages)r!   r}   r   r   rM   s       r"   r)   zView.__init__   sE    tV,,, 	 "$
!#
 "$


r$   c                    t                                          |           | j                            dd           d S )Nr%   z	blog.html)r(   rP   r   rB   )r!   r   rM   s     r"   rP   zView.read_source   s;    F### 		Z55555r$   )r}   r~   r   r	   r   r   rQ   )rR   rS   rT   __annotations__r)   rP   rU   rV   s   @r"   r{   r{      sk          $ $ $ $ $ $"6 6 6 6 6 6 6 6 6 6r$   r{   c                      e Zd ZdS )ArchiveNrR   rS   rT   r   r$   r"   r   r              Dr$   r   c                      e Zd ZdS )CategoryNr   r   r$   r"   r   r     r   r$   r   r   r   c                   t          |           } t          | j                  | _        t          | j        j                  | j        _        t          | j                  | _        t          | j                  | _        d| j        v r| j                            d           i | j                            di           ddddd| j        d<   | j        j        }t          j        |_	        t          j        |_
        t          j        |_        | S )Nzmarkdown.extensions.tocrv   T   F)
anchorlink	baselevel	permalink	toc_depth)r   
validationlinksrb   rc   removerC   loggingDEBUG	not_foundabsolute_linksunrecognized_links)r   r   s     r"   ra   ra   	  s   &\\F "&f&7!8!8F!%f&7&=!>!>F!%f&@!A!AF!%f&8!9!9F !F$>>>"))*CDDD!


 
 
+
+! 	
 
!Fu #EmEO"=E&}E Mr$   zmkdocs.material.blogrQ   )(
__future__r   r   r*   r3   r   r1   r   material.plugins.blog.authorr   mkdocs.config.defaultsr   mkdocs.exceptionsr   mkdocs.structure.filesr	   r
   mkdocs.structure.navr   mkdocs.structure.pagesr   r   mkdocs.structure.tocr   mkdocs.utils.metar   rer   r   r   r   r   r   rX   r{   r   r   ra   	getLoggerr=   r   r$   r"   <module>r      sO  * # " " " " "  				              / / / / / / / / / / / / ) ) ) ) ) ) . . . . . . . . ( ( ( ( ( ( C C C C C C C C ( ( ( ( ( ( % % % % % %                   * * * * * *S S S S S4 S S SpN& N& N& N& N&d N& N& N&f6 6 6 6 64 6 6 6@	 	 	 	 	d 	 	 		 	 	 	 	t 	 	 	" " " "R g.//r$   