Something went wrong. Try again.
keyboard stuff
Something went wrong. Try again.
1.9 kB · 61 lines
Python
at master
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162"""Handlers for the QMK documentation generator (docusaurus)."""import shutilfrom pathlib import Pathfrom subprocess import DEVNULLfrom os import chdir, environ, makedirs, pathsepfrom milc import cli
from qmk.constants import QMK_FIRMWARE
DOCS_PATH = QMK_FIRMWARE / 'docs'BUILDDEFS_PATH = QMK_FIRMWARE / 'builddefs' / 'docsgen'BUILD_PATH = QMK_FIRMWARE / '.build'CACHE_PATH = BUILD_PATH / 'cache'NODE_MODULES_PATH = BUILD_PATH / 'node_modules'BUILD_DOCS_PATH = BUILD_PATH / 'docs'DOXYGEN_PATH = BUILD_DOCS_PATH / 'static' / 'doxygen'
def run_docs_command(verb, cmd_args=None): environ['PATH'] += pathsep + str(NODE_MODULES_PATH / '.bin')
args = {'capture_output': False, 'check': True} docs_env = environ.copy() if cli.config.general.verbose: docs_env['DEBUG'] = 'vitepress:*,vite:*' args['env'] = docs_env
arg_list = ['yarn', verb] if cmd_args: arg_list.extend(cmd_args)
chdir(BUILDDEFS_PATH) cli.run(arg_list, **args)
def prepare_docs_build_area(is_production): if is_production: # Set up a symlink for docs to be inside builddefs -- vitepress can't handle source files in parent directories try: docs_link = Path(BUILDDEFS_PATH / 'docs') if not docs_link.exists(): docs_link.symlink_to(DOCS_PATH) except NotImplementedError: cli.log.error('Symlinks are not supported on this platform.') return False
if BUILD_DOCS_PATH.exists(): shutil.rmtree(BUILD_DOCS_PATH)
# When not verbose we want to hide all output args = {'capture_output': False if cli.config.general.verbose else True, 'check': True, 'stdin': DEVNULL}
makedirs(DOXYGEN_PATH) cli.log.info('Generating doxygen docs at %s', DOXYGEN_PATH) cli.run(['doxygen', 'Doxyfile'], **args)
cli.log.info('Installing vitepress dependencies') run_docs_command('install')
return True