summaryrefslogtreecommitdiff
path: root/__main__.py
blob: 037927532630ea10557f88f50f0efeae12a43c9f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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)