
    2yiJ                        d dl mZ d dlZd dlZd dlZd dlmZ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mZ e
rd d	lmZ  ej,                  e      Zdd
ddg fdd	 	 	 	 	 	 	 	 	 	 	 	 	 ddZy)    )annotationsN)isdirisfilejoin)TYPE_CHECKING)urlsplit)build)load_config)LiveReloadServer
_serve_url)MkDocsConfigTFopen_in_browserc                   t        j                  d       fd|dk(  |dk(          }|j                  j                  rdnd       |j                  \  }}	t        |j                  xs d	      j                  }
t        ||	|
      x|_        ddfd}t        |||	|
      }dfd}||_
        	  ||       |r|j                  |j                         |j                  r|j                  |j                         |r,|j                  j                  D ]  }|j                  |        |j                  j!                  |||      }|j                  D ]  }|j                  |        	 |j#                  |       |j+                          	 |j                  j-                          t/              rt1        j2                         y
y
# t$        $ r t&        j)                  d       Y mw xY w# |j+                          w xY w# |j                  j-                          t/              rt1        j2                         w w xY w)z
    Start the MkDocs development server.

    By default it will serve the documentation on http://localhost:8000/ and
    it will rebuild the documentation and refresh the page automatically
    whenever a file is edited.
    mkdocs_)prefixc                 Z    t        dd} | j                  j                         | S )N)config_filesite_dir )r
   watchextend)configr   kwargsr   r   s    W/var/www/html/content_weaver/venv/lib/python3.12/site-packages/mkdocs/commands/serve.py
get_configzserve.<locals>.get_config*   s;     
#
 

 	E"    cleandirtyr	   serve)commandr   /Nc                t    t         j                  d       |         } | _        t        | rd n       y )NzBuilding documentation...)	serve_urlr   )loginfosite_urlr	   )r   r   is_cleanis_dirtyr$   s    r   builderzserve.<locals>.builder=   s3    ,->\F'FOfixPr   )r*   hostportroot
mount_pathc                    | dv r@t        |  d      }t        |      r&t        |d      5 }|j                         cd d d        S y # 1 sw Y   y xY w)N)i  i  z.htmlrb)r   r   openread)code
error_pagefr   s      r   error_handlerzserve.<locals>.error_handlerI   sU    :h4&7Jj!*d+ $q668$ $$s   AA)r   r*   r   zShutting down...)N)r   zMkDocsConfig | None)returnzbytes | None)tempfilemkdtempplugins
on_startupdev_addrr   r'   pathr   r   r6   r   docs_dirconfig_file_paththemedirson_server    KeyboardInterruptr%   r&   shutdownon_shutdownr   shutilrmtree)r   
livereload
build_typewatch_themer   r   r   r   r+   r,   r.   r*   serverr6   ditemr   r(   r)   r$   r   s   `   ` `         @@@@@r   r    r       s   ( y1H W$HW$H\F
NN(wPXYJD$&//0S166J",T4"DDFOiQ Q dHF )F$LL)&&V445** $ALLO$ ^^,,VFG,TF #T"#	LLL9 OO""$?MM(#  ! 	)HH'(	) OO""$?MM(# s=   B:H G! H !H?H HH HH =I)r   
str | NonerH   boolrI   rN   rJ   rO   r   z	list[str]r   rO   r7   None)
__future__r   loggingrF   r8   os.pathr   r   r   typingr   urllib.parser   mkdocs.commands.buildr	   mkdocs.configr
   mkdocs.livereloadr   r   mkdocs.config.defaultsr   	getLogger__name__r%   r    r   r   r   <module>r\      s    "    ' '   ! ' % :3g! #!\$ "\$\$\$ \$ 	\$
 \$ \$ 
\$r   