# Written for FreeBSD make(1), or pmake. Not tested with GNU make.
EDITOR = $$EDITOR
POST_T = templates/template.html
INDEX_HEAD_T = templates/index_head.html
INDEX_FOOT_T = templates/index_foot.html
RSS_HEAD_T = templates/rss_head.xml
RSS_FOOT_T = templates/rss_foot.xml
all: index.html rss.xml cv.pdf
index.html: posts/*.html
@grep h1 $> | sort -r | sed 's#^\(posts/\([0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]\)[^:]*\):[ \t]*
\(.*\)
#\3 \2
#' | cat $(INDEX_HEAD_T) - $(INDEX_FOOT_T) > index.html
rss.xml: posts/*.html
@grep h1 $> | sort -r | sed 's#^\(posts/[^:]*\):[ \t]*\(.*\)
#- \2https://www.53hor.net/posts/\1
#' | cat $(RSS_HEAD_T) - $(RSS_FOOT_T) > rss.xml
cv.pdf: cv.html
@mutool convert -o cv.pdf cv.html
.PHONY: serve post clean
serve:
python3.7 -m http.server 3000
post:
@read -p "Title: " TITLE; \
SHORT_DATE=`date +"%Y-%m-%d"`; \
FILENAME=posts/$$SHORT_DATE-`printf "$$TITLE" | tr -Cs "[:alnum:]" '-' | tr "[:upper:]" "[:lower:]"`.html; \
cp $(POST_T) $$FILENAME; \
sed -i '' "s/{{ title }}/$$TITLE/g" $$FILENAME; \
$$EDITOR $$FILENAME
clean:
rm -f index.html rss.xml