feat(journal): include specific journal paths
continuous-integration/drone/push Build is failing Details

This commit is contained in:
ktyl 2023-12-04 22:15:02 +00:00
parent 3372bb108d
commit 7271899b78
5 changed files with 59 additions and 20 deletions

View File

@ -1 +1,2 @@
__pycache__
*.html

View File

@ -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

@ -1 +1 @@
Subproject commit 95f85eaa95c875d2aa7897c0120f72bf31ade907
Subproject commit 170fb442a8c4a0c06b47e28821ab5fb475e35be1

30
src/garden/journal.py Normal file
View File

@ -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)

View File

@ -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)