diff options
Diffstat (limited to 'builder/builder.py')
| -rw-r--r-- | builder/builder.py | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/builder/builder.py b/builder/builder.py deleted file mode 100644 index 620fc710..00000000 --- a/builder/builder.py +++ /dev/null @@ -1,90 +0,0 @@ -#!/usr/bin/python - -from dotenv import load_dotenv -load_dotenv() - -import os -import glob -from jinja2 import Environment, FileSystemLoader, select_autoescape - -import s3 -import parser -from paths import * - -env = Environment( - loader=FileSystemLoader(template_path), - autoescape=select_autoescape([]) -) - -def build_page(fn, research_posts): - metadata, sections = parser.read_metadata(fn) - - if metadata is None: - print("{} has no metadata".format(fn)) - return - - print(metadata['url']) - - dirname = os.path.dirname(fn) - output_path = public_path + metadata['url'] - output_fn = os.path.join(output_path, "index.html") - - skip_h1 = False - - if metadata['url'] == '/': - template = env.get_template("home.html") - elif 'research/' in fn: - skip_h1 = True - template = env.get_template("research.html") - else: - template = env.get_template("page.html") - - if 'datasets/' in fn: - s3_dir = s3_datasets_path - else: - s3_dir = s3_site_path - - s3_path = s3.make_s3_path(s3_dir, metadata['path']) - - if 'index.md' in fn: - s3.sync_directory(dirname, s3_dir, metadata) - - content = parser.parse_markdown(sections, s3_path, skip_h1=skip_h1) - - html = template.render( - metadata=metadata, - content=content, - research_posts=research_posts, - latest_research_post=research_posts[-1], - ) - - os.makedirs(output_path, exist_ok=True) - with open(output_fn, "w") as file: - file.write(html) - - print("______") - -def build_research_index(research_posts): - metadata, sections = parser.read_metadata('../site/content/research/index.md') - template = env.get_template("page.html") - s3_path = s3.make_s3_path(s3_site_path, metadata['path']) - content = parser.parse_markdown(sections, s3_path, skip_h1=False) - content += parser.parse_research_index(research_posts) - html = template.render( - metadata=metadata, - content=content, - research_posts=research_posts, - latest_research_post=research_posts[-1], - ) - output_fn = public_path + '/research/index.html' - with open(output_fn, "w") as file: - file.write(html) - -def build_site(): - research_posts = parser.read_research_post_index() - for fn in glob.iglob(os.path.join(content_path, "**/*.md"), recursive=True): - build_page(fn, research_posts) - build_research_index(research_posts) - -if __name__ == '__main__': - build_site() |
