diff --git a/compile.sh b/compile.sh index 20fb9ed..25ebe00 100755 --- a/compile.sh +++ b/compile.sh @@ -28,4 +28,11 @@ for d in ./articles/*/; do fi done +mkdir -p "./html/tags/" +./tools/tag_listing_generator.py ./articles/ ./html/ | ./tools/mmd/build/multimarkdown > "./html/tags.html" + +for f in ./html/tags/*.html; do + echo $(cat "$f" | ./tools/mmd/build/multimarkdown) > "$f" +done + ./tools/feed_generator.py ./articles/ $URL > ./html/feed.xml diff --git a/tools/article_utils.py b/tools/article_utils.py index 86d4e41..f00b20a 100644 --- a/tools/article_utils.py +++ b/tools/article_utils.py @@ -18,7 +18,7 @@ def parse_metadata(filepath: str) -> {}: if key == "Date": result["Date"] = time.gmtime(int(val)) elif key == "Tags": - result["Tags"] = val.split(",") + result["Tags"] = [v.strip() for v in val.split(",")] else: result[key] = val result["Last Edit"] = time.gmtime(int(subprocess.getoutput(r"stat -c %Y " + filepath))) diff --git a/tools/article_wrapper.py b/tools/article_wrapper.py index 758f0c8..093aef9 100755 --- a/tools/article_wrapper.py +++ b/tools/article_wrapper.py @@ -24,7 +24,7 @@ with open(argv[1], "r") as f: metadata = parse_metadata(argv[1]) directory = path.split(path.dirname(path.abspath(argv[1])))[-1] -title = metadata.get("Title", "Oopsie, somebody forgot to name the article!") +title = metadata["Title"] article_head = "\n# " + title + "\n" brief = metadata.get("Brief") @@ -41,10 +41,12 @@ if not last_edit is None: last_edit.tm_mday != date.tm_mday or last_edit.tm_year != date.tm_year: article_head += f"-- Edited: *{MONTHS[last_edit.tm_mon]} {last_edit.tm_mday}, {last_edit.tm_year} UTC*\n\n" -# todo: Hyperlinks to appropriate tag pages. tags = metadata.get("Tags") if tags: - article_head += f"""-- Tags: *{",".join(tags)}*\n\n""" + tag_links = [] + for tag in tags: + tag_links.append(f"[{tag}](/tags/{urllib.parse.quote(tag.lower())}.html)") + article_head += f"""-- Tags: *{", ".join(tag_links)}*\n\n""" article_head += "---\n\n" diff --git a/tools/page_shares.py b/tools/page_shares.py index d2e14a8..c651876 100644 --- a/tools/page_shares.py +++ b/tools/page_shares.py @@ -10,6 +10,7 @@ HEAD_EMBED = """