import os.path import sys import jinja2 from .config import Config from .modules import blog_generate from .modules import comic_generate from .modules import codenames_generate def init_jinja_env() -> jinja2.Environment: jinja_env = jinja2.Environment(loader=jinja2.FileSystemLoader(Config.TEMPLATES_SOURCE_DIR)) return jinja_env def main(output_root_path: str, local: bool): if local: Config.change_config_to_local() jinja_env = init_jinja_env() jinja_env.globals.update(site={ "assets_path": Config.ASSETS_IMPORT_PATH, "assets_path_static": Config.ASSETS_IMPORT_PATH_STATIC, "rss_filename": Config.RSS_FILE_NAME, "main_url": Config.MAIN_ROOT_URL, "blog_url": Config.BLOG_ROOT_URL, "comic_url": Config.COMIC_ROOT_URL, "codenames_url": Config.CODENAMES_ROOT_URL, "git_url": Config.GIT_ROOT_URL, }) blog_generate.generate(jinja_env, os.path.join(output_root_path, "blog"), local) comic_generate.generate(jinja_env, os.path.join(output_root_path, "comic"), local) codenames_generate.generate(jinja_env, os.path.join(output_root_path, "codenames"), local) if __name__ == '__main__': main(sys.argv[1], bool(int(sys.argv[2])) if len(sys.argv) > 2 else False)