diff --git a/scripts/gen.py b/scripts/gen.py new file mode 100755 index 0000000..790d705 --- /dev/null +++ b/scripts/gen.py @@ -0,0 +1,39 @@ +from datetime import datetime +from dateutil.parser import parse as parse_date + + +def write_file(title, contents): + title = title.strip() + filename = title.replace(' ', '-').lower() + if "Current status" in title: + date = datetime.now() + else: + date = parse_date(title) + filename += '.md' + with open(f"content/updates/{filename}", "w", encoding='utf-8') as f: + print(f"[*] Writing update {filename}") + f.write("+++\n") + f.write(f"title = '{title}'\n") + f.write(f"date = '{date}'\n") + f.write("+++\n") + f.write(update) + + +with open("./status.md", "r", encoding='utf-8') as f: + title = None + update = "" + for line in f.readlines(): + if line.startswith("###"): + if title: + write_file(title, update) + + title = line.removeprefix("### ") + update = "" + else: + if title: + if line.startswith("---"): + break + else: + update += line + + write_file(title, update) diff --git a/scripts/prep.sh b/scripts/prep.sh index c65a4c8..b152cc9 100755 --- a/scripts/prep.sh +++ b/scripts/prep.sh @@ -31,4 +31,23 @@ init() { cat README.md | tail -n +5 >> $file } +prep_status() { + mkdir content/updates + + index="content/updates/_index.md" + touch $index + echo "+++" > $index + echo 'render = true' >> $index + echo 'title = "Updates"' >> $index + echo 'sort_by = "date"' >> $index + echo 'template = "updates/index.html"' >> $index + echo 'page_template = "updates/post.html"' >> $index + echo 'generate_feed = true' >> $index + echo "+++" >> $index + echo "" >> $index + + python ./scripts/gen.py +} + init +prep_status