MD := $(shell find content -name '*.md') HTML := $(patsubst content/%.md,public/%.html,$(MD)) TPL := template.html PANDOC := pandoc -f markdown+lists_without_preceding_blankline-implicit_figures \ --template=$(TPL) --toc --toc-depth=3 -s --wrap=preserve all: site public/%.html: content/%.md $(TPL) @mkdir -p $(@D) @sec=$$(echo "$*" | cut -d/ -f1); \ buf=$$(basename $$(dirname "$*")); \ dt=$$(sed -n 's/^date: *//p' "$<" | head -1 | tr -d '"'); \ fdt=$$(date -d "$$dt" +"%B %-d, %Y" 2>/dev/null || echo "$$dt"); \ au=$$(sed -n 's/^author: *//p' "$<" | head -1 | tr -d '"[]'); \ vid=$$(sed -n 's/^video: *//p' "$<" | head -1 | tr -d '"'); vid=$${vid##*v=}; vid=$${vid##*/embed/}; \ if [ "$$sec" = community ] && [ -n "$$au" ]; then ml="by $$au ยท $$fdt"; else ml="$$fdt"; fi; \ yt=""; [ -n "$$vid" ] && yt="-M ytid=$$vid"; \ $(PANDOC) -M section="$$sec" -M buffer="$$buf.org" -M showtitle=true -M metaline="$$ml" $$yt "$<" -o "$@" site: $(HTML) gen assets gen: $(TPL) gen.sh $(MD) @bash gen.sh assets: @mkdir -p public && cp -R assets/. public/ serve: site @cd public && python3 -m http.server 1313 clean: rm -rf public .PHONY: all site gen assets serve clean