
DEST ?= axs@sdf.org:html
SITE_URL ?= https://axs.sdf.org

.PHONY: default help publish build

default: build

build: .build_sentinel #>

publish: build #> Publish site
	@echo "Publishing..."
	@# rsync options:
	@#   verbose:    show each operation
	@#   links:      preserve symlinks
	@#   safe-links: ignore symlinks that point outside of tree
	@#   times:      preserve modification times
	@#   delete:     delete extraneous files, i.e., files on destination
	@#   chmod:      set permsions
	@echo "\t ⛟  Copying from public to ${DEST}"
	@rsync \
	  --verbose \
	  --recursive \
	  --links \
	  --safe-links \
	  --times \
	  --delete \
	  --cvs-exclude \
	  --chmod=D755,F644 \
	  public/ \
	  ${DEST}
	@echo "\t 🛡️ Setting permissions"
	@ssh axs@sdf.org 'mkhomepg -p'
	@echo "✓ Publising complete"
	@echo "\nThe site should be available on ${SITE_URL}"

.build_sentinel: $(wildcard content/*/*)
	@echo "\t 🏗️ Building site"
	@# We call hugo with two options:
	@#  --cleanDestinationDir, to remove deleted files
	@#  --minify, to compress files my removing extra whitespace
	hugo --cleanDestinationDir --minify
	@touch $@
