diff --git a/blog b/blog index a909feb..ba65dda 160000 --- a/blog +++ b/blog @@ -1 +1 @@ -Subproject commit a909feba613d3a2e4cdc027c9e11c390f924a799 +Subproject commit ba65dda1e78a8b1c5120dce6284fd0230642b126 diff --git a/makefile b/makefile index 8841097..4454701 100644 --- a/makefile +++ b/makefile @@ -72,7 +72,8 @@ $(BLOG_RSS): cp $(BLOG_BUILD_DIR)/index.xml $@ $(BLOG_INDEX_LINKS): $(BLOG_TARGETS) | $(BLOG_TMP_DIR) - pipenv run python scripts/mkblogindex.py $(BLOG_TARGETS) > $@ + make --directory $(BLOG_BASE_DIR) html + cp $(BLOG_BUILD_DIR)/index.html $@ $(BLOG_OUT_DIR)/%.html: $(BLOG_OUT_DIR)/%.html.tmp $(HTML_INCLUDES) $(CSS_TARGETS) python ppp/ppp.py $< $(HTML_INCLUDES) > $@ diff --git a/scripts/mkblogindex.py b/scripts/mkblogindex.py deleted file mode 100644 index febbc86..0000000 --- a/scripts/mkblogindex.py +++ /dev/null @@ -1,59 +0,0 @@ -#!/usr/bin/env python3 - -import sys -import re - -# we expect the arguments to be filepaths to each blog post - -def print_usage(): - print("\nusage: python mkblogindex.py POSTS\n") - print("\n") - print("\t\tPOSTS\tfilepaths of blog posts") - -# check args for at least one file path -if len(sys.argv) < 2: - print_usage() - sys.exit(1) - -# posts are arguments from index 1 onwards -posts = sys.argv[1:] - -dir_pattern = re.compile("(.+)/(blog\/.+\.html)") -path_pattern = re.compile("(.+)\/(\d{4})\/(\d{1,2})\/(\d{1,2})\/(.+).html") -title_pattern = re.compile("

(.+)

") - -# filter posts to just those with a date in them -posts = [p for p in posts if path_pattern.match(p)] -posts.reverse() - -links = [] - -# for each file we want to output an tag with a relative href to the site root -for path in posts: - m = re.match(path_pattern, path) - year = m.group(2) - month = m.group(3).rjust(2, '0') - day = m.group(4).rjust(2, '0') - - date = f'{year}-{month}-{day}' - - title = "" - with open(path) as f: - for line in f: - if title_pattern.match(line): - title = re.sub(title_pattern, r'\1', line).strip() - break - - # clean leading directories to get the relative path we'll use for the link - url = re.sub(dir_pattern, r"\2", path) - - item = (date, f'
  • {date}{title}
  • ') - links.append(item) - -# make sure we're properly ordered in reverse date order lol -links = sorted(links, key=lambda x: x[0]) -links.reverse() - -for l in links: - print(l[1]) -