# Hugo configuration. HUGO_COMMAND := hugo HUGO_OPTIONS := --i18n-warnings OUTPUT_DIR := public # Vnu validator configuration. VNU_COMMAND := vnu VNU_OPTIONS := --skip-non-html --also-check-css # Rsync deployment configuration. SSH_HOST := www.cosin.ch SSH_USER := webcosin TARGET_DIR := /srv/www/www.cosin.ch/ # Non-file goals. .PHONY: server generate validate upload clean # Include the configuration files. -include config.mk settings.mk # Start a local development server. server: hugo $(HUGO_OPTIONS) server # Generate static output files for deployment. generate: hugo $(HUGO_OPTIONS) # Validate html and css in generated files. validate: generate $(VNU_COMMAND) $(VNU_OPTIONS) $(OUTPUT_DIR) # Deploy the website to the production webserver. upload: generate rsync --rsh=ssh -P -rvzc --cvs-exclude --delete --include=*/fahrplan/ --exclude=fahrplan/ $(OUTPUT_DIR)/ $(SSH_USER)@$(SSH_HOST):$(TARGET_DIR) # Clean up. clean: rm -rf $(OUTPUT_DIR)