# 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