scripts/patch_site_config.py (42 lines of code) (raw):
#!/usr/bin/env python3
# Copyright (c) Meta Platforms, Inc. and affiliates.
#
# This source code is licensed under the MIT license found in the
# LICENSE file in the root directory of this source tree.
from __future__ import annotations
import argparse
import re
def patch_config(
config_file: str, base_url: str = None, disable_algolia: bool = True
) -> None:
config = open(config_file, "r").read()
if base_url is not None:
config = re.sub("baseUrl = '/';", "baseUrl = '{}';".format(base_url), config)
if disable_algolia is True:
config = re.sub(
"const includeAlgolia = true;", "const includeAlgolia = false;", config
)
with open(config_file, "w") as outfile:
outfile.write(config)
if __name__ == "__main__":
parser = argparse.ArgumentParser(
description="Path Docusaurus siteConfig.js file when building site."
)
parser.add_argument(
"-f",
"--config_file",
metavar="path",
required=True,
help="Path to configuration file.",
)
parser.add_argument(
"-b",
"--base_url",
type=str,
required=False,
help="Value for baseUrl.",
default=None,
)
parser.add_argument(
"--disable_algolia",
required=False,
action="store_true",
help="Disable algolia.",
)
args = parser.parse_args()
patch_config(args.config_file, args.base_url, args.disable_algolia)