OC ?= ../oc
# test server: the www share of barbel-lescar, mounted from the file manager (smb://barbel-lescar/www)
DEPLOY_DIR ?= /run/user/$(shell id -u)/gvfs/smb-share:server=barbel-lescar,share=www/oldcomputers
DEPLOY_URL ?= https://barbel.synology.me/oldcomputers/

.PHONY: content build check serve deploy

content:       ## regenerate content/ and static/media/ from the extraction repo
	python3 $(OC)/scripts/05_hugo.py --target $(CURDIR)

build:         ## build the site into public/
	rm -rf public
	hugo --panicOnWarning --minify

check: build   ## build, then verify every internal link and image
	python3 tools/check_links.py public

serve:         ## local preview on http://localhost:1313
	hugo server

deploy:        ## build for DEPLOY_URL, check, and copy public/ to DEPLOY_DIR
	rm -rf public
	hugo --panicOnWarning --minify --baseURL $(DEPLOY_URL)
	python3 tools/check_links.py public
	@test -d "$(dir $(DEPLOY_DIR))" || { echo "share not mounted: $(dir $(DEPLOY_DIR))"; exit 1; }
	mkdir -p "$(DEPLOY_DIR)"
	rsync -r --size-only --info=stats1 public/media/ "$(DEPLOY_DIR)/media/"
	rsync -rc --delete --exclude=/media/ --info=stats1 public/ "$(DEPLOY_DIR)/"
