.DEFAULT_GOAL := help include .env SERVER_OUTPUT = $(TARGET_SERVER_OUTPUT) # user@server.url:/path/to/website .PHONY: install install: ## Install the dependencies to build the website python -m pip install -r requirements.txt .PHONY: build build: ## Build the website python revelateur.py .PHONY: ulid ulid: ## Generate a ULID (useful for passwords) @python -c 'from ulid import ULID;print(str(ULID()))' .PHONY: clean clean: ## Clean output files rm -rf ./output ./__pycache__ .PHONY: serve serve: build ## Serve the website (development) cd output && python -m http.server 8080 .PHONY: publish publish: build ## Publish the website online (rsync) # With rsync 3.1.0 you can use `--info=progress2` rsync -P -rzc --stats --cvs-exclude --delete ./output/ $(SERVER_OUTPUT) .PHONY: help help: @grep -h -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'