
    7j                         d Z ddlZddlmZ ddlmZ ddlmZmZm	Z	m
Z
 ddlmZ ddlmZ edz  Zed	z  d
z  Zedz  Zedz  Zedz  Zedz  Zedz  dz  ZddZd Zy)z;Handlers for the QMK documentation generator (docusaurus).
    N)Path)DEVNULL)chdirenvironmakedirspathsep)cli)QMK_FIRMWAREdocs	builddefsdocsgenz.buildcachenode_modulesstaticdoxygenc                 Z   t         dxx   t        t        t        dz        z   z  cc<   ddd}t        j                         }t
        j                  j                  j                  rd|d<   ||d<   d	| g}|r|j                  |       t        t               t        j                  |fi | y )
NPATHz.binFT)capture_outputcheckzvitepress:*,vite:*DEBUGenvyarn)r   r   strNODE_MODULES_PATHcopyr	   configgeneralverboseextendr   BUILDDEFS_PATHrun)verbcmd_argsargsdocs_envarg_lists        A/home/hanthebot/chat/keyboard/qmk_firmware/lib/python/qmk/docs.pyrun_docs_commandr(      s    FOw%6%?!@@@O#d3D||~H
zz!!0DK~H!	.GGH    c                 x   | r8	 t        t        dz        }|j                         s|j                  t               t        j                         rt        j                  t               t        j                  j                  j                  rdnddt        d}t!        t"               t        j                  j%                  dt"               t        j&                  ddgfi | t        j                  j%                  d	       t)        d
       y# t
        $ r" t        j                  j                  d       Y yw xY w)Nr   z,Symlinks are not supported on this platform.FT)r   r   stdinzGenerating doxygen docs at %sr   Doxyfilez!Installing vitepress dependenciesinstall)r   r    exists
symlink_to	DOCS_PATHNotImplementedErrorr	   logerrorBUILD_DOCS_PATHshutilrmtreer   r   r   r   r   DOXYGEN_PATHinfor!   r(   )is_production	docs_linkr$   s      r'   prepare_docs_build_arear;   %   s    	^f45I##%$$Y/
 o& (+zz'9'9'A'AetVZelmD\GGLL0,?GGY
#,t,GGLL45Y# # 	GGMMHI	s   7D (D98D9)N)__doc__r5   pathlibr   
subprocessr   osr   r   r   r   milcr	   qmk.constantsr
   r0   r    
BUILD_PATH
CACHE_PATHr   r4   r7   r(   r;    r)   r'   <module>rE      sz       0 0  &6!	+i7H$
'!
/ v%)I5"r)   