CONTENT_FILES := $(wildcard content/**/*.md) .DEFAULT_GOAL := help .PHONY: help help: @printf "\033[33mUsage:\033[0m\n make [target] [arg=\"val\"...]\n\n\033[33mTargets:\033[0m\n" @grep -E '^[-a-zA-Z0-9_\.\/]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[32m%-15s\033[0m %s\n", $$1, $$2}' .PHONY: run run: static/js/lunr/PagesIndex.json ## Start development environment @docker-compose up -d hugo .PHONY: stop stop: ## Stop development environment @docker-compose stop .PHONY: down down: ## Take down development environment @docker-compose down .PHONY: logs logs: ## Tail development logs @docker-compose logs -f --since=1m .PHONY: shell shell: ## Open a shell in the hugo container (it needs to be running) You are root in the container, so new files need to be chown'ed properly @docker-compose exec -it hugo sh .PHONY: update-search-index update-search-index: static/js/lunr/PagesIndex.json ## Update the search index if needed static/js/lunr/PagesIndex.json: $(CONTENT_FILES) @echo "Rebuilding search index..." @docker-compose run --rm node docker/prod-host/search-indexer.js