summaryrefslogtreecommitdiff
path: root/builder/builder.py
diff options
context:
space:
mode:
Diffstat (limited to 'builder/builder.py')
-rw-r--r--builder/builder.py90
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()