From ed21034a10d581052e2a5577f243f51a9634fd72 Mon Sep 17 00:00:00 2001 From: Victor Zverovich Date: Sun, 9 Jun 2024 15:53:16 -0700 Subject: [PATCH] Implement deployment --- support/mkdocs | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/support/mkdocs b/support/mkdocs index 823f71a6..fa9bbbc4 100755 --- a/support/mkdocs +++ b/support/mkdocs @@ -1,26 +1,33 @@ #!/usr/bin/env python3 # A script to invoke mkdocs with the correct environment. +# Additionally supports deploying: +# ./mkdocs deploy ... -import os, shutil, sys +import errno, os, shutil, sys from subprocess import call -dirname = os.path.dirname(__file__) +support_dir = os.path.dirname(os.path.normpath(__file__)) +build_dir = os.path.join(os.path.dirname(support_dir), 'build') # Set PYTHONPATH for the mkdocstrings handler. env = os.environ.copy() path = env.get('PYTHONPATH') env['PYTHONPATH'] = \ - (path + ':' if path else '') + os.path.join(dirname, 'python') + (path + ':' if path else '') + os.path.join(support_dir, 'python') -config_path = os.path.join(dirname, 'mkdocs.yml') +config_path = os.path.join(support_dir, 'mkdocs.yml') args = sys.argv[1:] if len(args) > 0: command = args[0] if command == 'deploy': - site_dir = 'fmt.dev' - shutil.rmtree(site_dir) + site_dir = os. path.join(build_dir, 'fmt.dev') + try: + shutil.rmtree(site_dir) + except OSError as e: + if e.errno == errno.ENOENT: + pass ret = call(['git', 'clone', '--depth=1', - 'git@github.com:fmtlib/fmt.dev.git']) + 'git@github.com:fmtlib/fmt.dev.git', site_dir]) if ret != 0: sys.exit(ret) sys.exit(call(['mike', 'deploy', '--config-file', config_path,