zine/Makefile

61 lines
1.5 KiB
Makefile

DEST_DIR ?= dist
ISSUES != find . -path "./issues/*" -type d
DEST_PDF_FILES := $(ISSUES:./issues/%=$(DEST_DIR)/issue-%.pdf)
DEST_HTML_FILES := $(ISSUES:./issues/%=$(DEST_DIR)/issue-%.html)
DEST_EPUB_FILES := $(ISSUES:./issues/%=$(DEST_DIR)/issue-%.epub)
PANDOC != command -v pandoc 2> /dev/null
all: $(DEST_PDF_FILES) $(DEST_HTML_FILES) $(DEST_EPUB_FILES)
$(DEST_DIR)/issue-%.pdf: issues/%
@echo "building $@"
@$(PANDOC) \
--file-scope \
--from markdown \
--to latex \
--pdf-engine xelatex \
--table-of-contents \
--lua-filter increase-header-levels.lua \
--variable title:"tildeverse zine $@" \
--standalone \
--output $@ \
$</*.md
$(DEST_DIR)/issue-%.html: issues/%
@echo "building $@"
@$(PANDOC) \
--file-scope \
--from markdown \
--to html \
--standalone \
--table-of-contents \
--lua-filter header-permalinks.lua \
--lua-filter increase-header-levels.lua \
--metadata title:"tildeverse zine $@" \
--variable include-before:"<div class=\"container\">" \
--variable include-after:"</div>" \
--css https://tilde.team/css/hacker.css \
--output $@ \
$</*.md
$(DEST_DIR)/issue-%.epub: issues/%
@echo "building $@"
@$(PANDOC) \
--file-scope \
--from markdown \
--to epub \
--standalone \
--table-of-contents \
--lua-filter increase-header-levels.lua \
--metadata title:"tildeverse zine $@" \
--output $@ \
$</*.md
clean:
@echo "removing build artifacts"
@rm $(DEST_PDF_FILES) $(DEST_HTML_FILES) $(DEST_EPUB_FILES)
.PHONY: clean