From fb3782019d510d8b0be51f158e8aa783a0f9cdab Mon Sep 17 00:00:00 2001 From: Roger Barker Date: Thu, 1 May 2025 23:28:55 -0700 Subject: [PATCH 1/3] feat: Make static_site_generator.py a standalone script **Description**: Enables better testing at CLI Enables re-runs of html generation given a provided source json file like `output.projects.json` **Related Issue(s)**: closes #80 Signed-off-by: Roger Barker --- src/static_site_generator.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/static_site_generator.py b/src/static_site_generator.py index d1e4361..1c9040b 100644 --- a/src/static_site_generator.py +++ b/src/static_site_generator.py @@ -1,4 +1,6 @@ from jinja2 import Environment, FileSystemLoader +from rich import print +import json import logging import os @@ -13,7 +15,7 @@ def __init__(self): 'tasks': [] } - def generate_site(self, data:list=None, projects:list[str]=None, output_file='./_site/index.html'): + def generate_site(self, data:list=None, projects:list[str]=None, output_file='./_site/index.html') -> None: logging.info("Generating Static Site") env = Environment(loader=FileSystemLoader('templates')) template = env.get_template('kaban_board.html') @@ -40,3 +42,19 @@ def generate_site(self, data:list=None, projects:list[str]=None, output_file='./ f.write(output) logging.info("Static Site Generated @ ./_site/index.html") + +def main(): + ss_gen = StaticSiteGenerator() + data_file:str = input("Enter the path to the json file with data: ") + if not os.path.exists(data_file): + print(f"[bold red]File {data_file} does not exist.[/bold red]") + return + + data:list = [] + with open(data_file, 'r') as f: + data = json.load(f) + + ss_gen.generate_site(data=data) + +if __name__ == "__main__": + main() \ No newline at end of file From 719f8be1a99d009bf8964d9e02718f07cd5e03dd Mon Sep 17 00:00:00 2001 From: Roger Barker Date: Thu, 1 May 2025 23:31:43 -0700 Subject: [PATCH 2/3] add newline at end of static-site-generator script Signed-off-by: Roger Barker --- src/static_site_generator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/static_site_generator.py b/src/static_site_generator.py index 1c9040b..2359d82 100644 --- a/src/static_site_generator.py +++ b/src/static_site_generator.py @@ -57,4 +57,4 @@ def main(): ss_gen.generate_site(data=data) if __name__ == "__main__": - main() \ No newline at end of file + main() From 4e24f8036153f0ed34cc606b6f97f25535092db6 Mon Sep 17 00:00:00 2001 From: Roger Barker Date: Thu, 1 May 2025 23:35:53 -0700 Subject: [PATCH 3/3] Update src/static_site_generator.py Co-authored-by: Andrew Brandt Signed-off-by: Roger Barker --- src/static_site_generator.py | 1 + 1 file changed, 1 insertion(+) diff --git a/src/static_site_generator.py b/src/static_site_generator.py index 2359d82..0fb2026 100644 --- a/src/static_site_generator.py +++ b/src/static_site_generator.py @@ -58,3 +58,4 @@ def main(): if __name__ == "__main__": main() +