Files
website/Makefile
2025-02-13 21:09:48 +01:00

36 lines
932 B
Makefile

.PHONY: all mkdist watch clean
SRC_DIR = src
PAGES_DIR = $(SRC_DIR)/pages
BLOG_DIR = $(SRC_DIR)/blog
DIST_DIR = dist
PAGES = $(notdir $(wildcard $(PAGES_DIR)/*.html))
BLOG_PAGES = $(wildcard $(BLOG_DIR)/*.md)
TARGETS = $(addprefix $(DIST_DIR)/,$(PAGES))
all: $(PAGES_DIR)/blog.html $(TARGETS)
rm -rf $(DIST_DIR)/template.html
watch:
while sleep 1 ; do \
find ./$(SRC_DIR) -iname '*.html' -o -name "*.css" \
| entr -d make -f ./Makefile ; \
done
mkdist:
mkdir -p $(DIST_DIR)
template: $(SRC_DIR)/start.html $(SRC_DIR)/nav.html $(SRC_DIR)/side.html | mkdist
cp -r $(SRC_DIR)/styles $(DIST_DIR)
cat $(SRC_DIR)/start.html $(SRC_DIR)/nav.html $(SRC_DIR)/side.html > dist/template.html
$(PAGES_DIR)/blog.html: $(BLOG_PAGES)
pandoc -f markdown -t html $^ -o $@
$(DIST_DIR)/%.html: $(PAGES_DIR)/%.html | template mkdist
cat $(DIST_DIR)/template.html $(PAGES_DIR)/$*.html $(SRC_DIR)/end.html > $@
clean:
rm -rf dist