-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathMakefile
More file actions
44 lines (32 loc) · 1.53 KB
/
Makefile
File metadata and controls
44 lines (32 loc) · 1.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
.PHONY: help build serve check-links check-links-docker check-links-external clean docker-up docker-down generate-cv
help: ## Show this help message
@echo 'Usage: make [target]'
@echo ''
@echo 'Available targets:'
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-20s\033[0m %s\n", $$1, $$2}'
build: ## Build the Jekyll site locally
bundle exec jekyll build
serve: ## Serve the Jekyll site locally with live reload
bundle exec jekyll serve --watch --port=8080 --host=0.0.0.0 --livereload --verbose
check-links: build ## Build site and check for broken links (requires lychee installed)
@./scripts/check_links.sh
check-links-docker: ## Check for broken links using Docker
@echo "Building Jekyll site with Docker..."
docker compose run --rm jekyll bundle exec jekyll build
@echo "Checking links with lychee..."
docker compose run --rm link-checker
check-links-external: ## Check all links including external URLs using Docker
docker compose run --rm link-checker-external
docker-up: ## Start Jekyll development server with Docker
docker compose up
docker-down: ## Stop Docker containers
docker compose down
docker-build: ## Build site using Docker (without starting server)
docker compose run --rm jekyll bundle exec jekyll build
clean: ## Clean generated site files
bundle exec jekyll clean
rm -rf _site .jekyll-cache .jekyll-metadata
install: ## Install dependencies
bundle install
generate-cv: ## Generate publications.tex and push to Overleaf CV
python scripts/generate_cv.py