bavbavhaus.net/Makefile

37 lines
964 B
Makefile
Raw Normal View History

2024-04-12 22:28:47 +02:00
SHELL = /bin/sh
.SUFFIXES:
2024-05-02 20:10:51 +02:00
# functions for pages, and parts, takes a list of sources as the only argument
2024-04-12 22:28:47 +02:00
getpages = $(patsubst %.md,public_html/%.html,$(1))
2024-05-02 20:10:51 +02:00
getparts = $(patsubst %.md,public_html/%.html.part,$(1))
2024-04-12 22:28:47 +02:00
2024-04-22 15:16:39 +02:00
.PHONY: all
2024-05-02 21:43:58 +02:00
all: public_html/index.html $(call getpages,$(shell pandoc lua pandoc/links.lua --follow index.md))
2024-04-12 22:28:47 +02:00
2024-05-02 20:10:51 +02:00
public_html/%.html: %.md
$(eval links := $(shell pandoc lua pandoc/links.lua $<))
$(if $(links),$(MAKE) $(call getparts,$(links)))
2024-04-12 22:28:47 +02:00
pandoc \
--data-dir pandoc \
--defaults bavbavhaus.net.yaml \
--template bavbavhaus.net.html5 \
2024-05-02 20:10:51 +02:00
--metadata url=$*.html \
2024-05-02 21:47:26 +02:00
$(patsubst %,--metadata links=%,$(call getparts,$(links))) \
2024-04-12 22:28:47 +02:00
--output $@ \
$<
2024-05-02 20:10:51 +02:00
public_html/%.html.part: %.md
2024-04-12 22:28:47 +02:00
pandoc \
--data-dir pandoc \
--defaults bavbavhaus.net.yaml \
--template bavbavhaus.net.inline.html5 \
2024-05-02 20:10:51 +02:00
--id-prefix $* \
--metadata url=$*.html \
2024-04-12 22:28:47 +02:00
--output $@ \
$<
2024-04-22 15:16:39 +02:00
.PHONY: clean
2024-05-02 20:10:51 +02:00
clean:
$(RM) public_html/*.html.part
$(RM) public_html/*.html