all: build
build: $(patsubst src/%.md, out/%.html, $(shell find src -type f)) \
$(patsubst static/%, out/%, $(shell find static -type f)) \
$(patsubst src/%, out/%, $(shell find src -type f ! -name "*.md"))
serve:
xdg-open http://localhost:8000/
python3 -m http.server -d out/
watch:
find . -type f ! -path "./out/*" | entr make build
out/%.html: src/%.md template.html template.pl
@mkdir -p $(dir $@)
./template.pl $< > $@
out/%: src/%
@mkdir -p $(dir $@)
cp $< $@
out/%: static/%
@mkdir -p $(dir $@)
cp $< $@
compress: build # for gzip-static, check the openbsd httpd.conf(5) man page
find out/ -type f \( -name "*.html" -o -name "*.css" \) \
-exec gzip -k {} \;
publish: compress build
rsync -rcvP --delete out/ \
lemurianmage@slimegirl.nexus:/var/www/htdocs/slimegirl.nexus
clean:
rm -r out/
.PHONY: build serve watch compress publish clean