diff options
Diffstat (limited to 'g2h/gen.py')
| -rw-r--r-- | g2h/gen.py | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/g2h/gen.py b/g2h/gen.py new file mode 100644 index 0000000..4884072 --- /dev/null +++ b/g2h/gen.py @@ -0,0 +1,22 @@ +from jinja2 import Environment, FileSystemLoader +import os + +class Generator: + def __init__(self, output_dir): + self.output_dir = output_dir + template_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', 'templates')) + self.templates = Environment(loader=FileSystemLoader(template_dir)) + + def _render(self, template, context, out_path): + template = self.templates.get_template(template) + content = template.render(context) + out_file = os.path.join(self.output_dir, out_path) + os.makedirs(os.path.dirname(out_file), exist_ok=True) + with open(out_file, 'w', encoding='utf-8') as f: + f.write(content) + + def render_overview(self, commits): + context = { + 'commits': commits + } + self._render('overview.md', context, '_index.md') |