From 7271899b78ccbe5039f184afdfe5df23764eb1b7 Mon Sep 17 00:00:00 2001 From: ktyl Date: Mon, 4 Dec 2023 22:15:02 +0000 Subject: [PATCH] feat(journal): include specific journal paths --- src/garden/.gitignore | 1 + src/garden/Makefile | 13 +++++++++---- src/garden/journal | 2 +- src/garden/journal.py | 30 ++++++++++++++++++++++++++++++ src/garden/md2html.py | 33 ++++++++++++++++++--------------- 5 files changed, 59 insertions(+), 20 deletions(-) create mode 100644 src/garden/journal.py diff --git a/src/garden/.gitignore b/src/garden/.gitignore index 2d19fc7..a044ac0 100644 --- a/src/garden/.gitignore +++ b/src/garden/.gitignore @@ -1 +1,2 @@ +__pycache__ *.html diff --git a/src/garden/Makefile b/src/garden/Makefile index 2c3ac0b..cee9def 100644 --- a/src/garden/Makefile +++ b/src/garden/Makefile @@ -1,11 +1,16 @@ py = feed.py books.py -md = rss.md book-collecting.md gardens.md +poetry = journal/poetry/fallen-leaves.md +journal-images = journal/poetry/tree.jpg +md = rss.md book-collecting.md gardens.md $(poetry) html = $(md:%.md=%.html) -site: Makefile $(md) $(py) +site: Makefile $(md) $(py) $(journal-images) mkdir html python md2html.py $(md) - cp $(html) $(py) Makefile html + cp -R $(html) $(py) $(journal-images) Makefile html + +journal: $(poetry) + python journal.py $< clean-html: rm -r html @@ -19,4 +24,4 @@ rss: feed clean: clean-html -.PHONY: feed clean +.PHONY: feed clean journal diff --git a/src/garden/journal b/src/garden/journal index 95f85ea..170fb44 160000 --- a/src/garden/journal +++ b/src/garden/journal @@ -1 +1 @@ -Subproject commit 95f85eaa95c875d2aa7897c0120f72bf31ade907 +Subproject commit 170fb442a8c4a0c06b47e28821ab5fb475e35be1 diff --git a/src/garden/journal.py b/src/garden/journal.py new file mode 100644 index 0000000..8386d36 --- /dev/null +++ b/src/garden/journal.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python + +import sys +import os + +import md2html + +def print_usage(): + print(f"usage: python {sys.argv[0]} PATHS") + print("") + print("\t\PATHS\tpaths of input markdown files") + + +if len(sys.argv) < 2: + print_usage() + exit(1) + +# we don't want to publish *everything* in the journal, so for now let's just +# hardcode the files we want. +files = sys.argv[1:] + +# TODO: copy images +# TODO: separate md fromm images + +for f in files: + md2html.write_html(f) + html_path = f.replace(".md", ".html") + print(html_path) + + diff --git a/src/garden/md2html.py b/src/garden/md2html.py index 40b1610..b87c8a0 100644 --- a/src/garden/md2html.py +++ b/src/garden/md2html.py @@ -8,25 +8,28 @@ def print_usage(): print("") print("\t\PATHS\tpaths of input markdown files") -if len(sys.argv) < 2: - print_usage() - sys.exit(1) - -paths = sys.argv[1:] - -bad_paths = [p for p in paths if not p.endswith(".md")] -if len(bad_paths) != 0: - for p in bad_paths: - print(f"Not a markdown file: {p}") - - exit(1) def write_html(src : str): with open(src) as md: dest = src.replace(".md", ".html") with open(dest, "w") as html: - print(f"{src} -> {dest}") html.write(markdown.markdown(md.read())) -for p in paths: - write_html(p) + +if __name__ == "__main__": + + if len(sys.argv) < 2: + print_usage() + sys.exit(1) + + paths = sys.argv[1:] + + bad_paths = [p for p in paths if not p.endswith(".md")] + if len(bad_paths) != 0: + for p in bad_paths: + print(f"Not a markdown file: {p}") + + exit(1) + + for p in paths: + write_html(p)