version: '3' vars: HUGO_CMD: hugo NPM_CMD: npm tasks: default: desc: Show available tasks cmds: - task --list # Build tasks build: desc: Build Hugo site cmds: - "{{.HUGO_CMD}} --gc --minify" build:dev: desc: Build Hugo site for development cmds: - "{{.HUGO_CMD}}" serve: desc: Start Hugo dev server cmds: - "{{.HUGO_CMD}} server" clean: desc: Clean build artifacts cmds: - rm -rf public resources/_gen .hugo_build.lock # Test tasks test: desc: Run all tests deps: - test:build - test:markdown - test:html - test:links test:quick: desc: Run quick tests (without link check) deps: - test:build - test:markdown test:build: desc: Test Hugo build cmds: - "{{.HUGO_CMD}} --gc --minify --logLevel info" test:markdown: desc: Lint markdown files cmds: - "{{.NPM_CMD}} run test:markdown" test:html: desc: Validate HTML cmds: - "{{.NPM_CMD}} run test:html" test:links: desc: Check links cmds: - htmltest # Development tasks deps:install: desc: Install all dependencies cmds: - "{{.NPM_CMD}} install" - "{{.HUGO_CMD}} mod get -u" - "{{.HUGO_CMD}} mod tidy" deps:update: desc: Update dependencies cmds: - devbox update - "{{.NPM_CMD}} update" - "{{.HUGO_CMD}} mod get -u" # CI/CD ci: desc: Run CI pipeline locally deps: - test