mirror of
https://github.com/rjNemo/vf-site
synced 2026-06-06 01:16:38 +00:00
42 lines
1.1 KiB
Python
42 lines
1.1 KiB
Python
import os
|
|
import shutil
|
|
import sys
|
|
from os import path
|
|
|
|
from loguru import logger
|
|
|
|
from lib.config import load
|
|
from lib.engine import FileSystemRenderer
|
|
|
|
|
|
def main():
|
|
try:
|
|
config = load()
|
|
except FileNotFoundError:
|
|
logger.error("The configuration file 'config.json' was not found. Please verify it exists at the root level")
|
|
sys.exit()
|
|
|
|
data = {}
|
|
destination_path = config["outDir"]
|
|
fs = FileSystemRenderer(config.get("templatesFolder"))
|
|
|
|
logger.info(f"🏁 Start building {config['name']}")
|
|
|
|
if os.path.exists(destination_path) and os.path.isdir(destination_path):
|
|
shutil.rmtree(destination_path)
|
|
os.mkdir(destination_path)
|
|
|
|
for template in config["templates"]:
|
|
logger.info(f"📃Render '{template}'")
|
|
with open(path.join(destination_path, template), "w") as f:
|
|
f.write(fs.render(template, data.get(template)))
|
|
|
|
logger.info("⏩ Start copying staticfiles to build")
|
|
for folder in config["staticFiles"]:
|
|
shutil.copytree(folder, f"{config['outDir']}/{folder}")
|
|
|
|
logger.info("🎉 Done…")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|