update `Makefile`
parent
1d55be63ab
commit
fa65322e30
|
@ -0,0 +1,101 @@
|
||||||
|
SHELL = /bin/sh
|
||||||
|
.SUFFIXES:
|
||||||
|
|
||||||
|
# collect notes, sorted by time
|
||||||
|
notes := $(wildcard $(shell ls -t *.md))
|
||||||
|
# functions for pages and parts, takes a list of notes as the only argument
|
||||||
|
getpages = $(patsubst %.md,public_html/%.html,$(1))
|
||||||
|
getparts = $(patsubst %.md,partials/%.html,$(1))
|
||||||
|
# collect orphans
|
||||||
|
orphans = $(filter-out \
|
||||||
|
$(call getpages,$(notes)),\
|
||||||
|
$(wildcard public_html/*.html) $(wildcard public_html/.*.html))
|
||||||
|
|
||||||
|
.PHONY: all
|
||||||
|
all: $(call getpages,$(notes))
|
||||||
|
$(if $(orphans),$(RM) $(orphans))
|
||||||
|
|
||||||
|
.PHONY: hidden
|
||||||
|
hidden: notes := $(wildcard $(shell ls -t .*.md *.md))
|
||||||
|
hidden: all
|
||||||
|
|
||||||
|
public_html/%.html: %.md sitemap.json links.json
|
||||||
|
$(eval deps := $(shell jq -r '.["$<"] | unique | join(" ")' links.json))
|
||||||
|
$(if $(deps), $(MAKE) $(call getparts,$(deps)))
|
||||||
|
pandoc \
|
||||||
|
--data-dir pandoc \
|
||||||
|
--defaults bavbavhaus.net.yaml \
|
||||||
|
--template bavbavhaus.net.html5 \
|
||||||
|
--metadata url=$< \
|
||||||
|
--lua-filter insert_sitemap.lua \
|
||||||
|
--lua-filter insert_links.lua \
|
||||||
|
--lua-filter update_internal_targets.lua \
|
||||||
|
--output $@ \
|
||||||
|
$<
|
||||||
|
|
||||||
|
# preserve `partials/%.html` intermediate files
|
||||||
|
.PRECIOUS: partials/%.html
|
||||||
|
partials/%.html: %.md | partials
|
||||||
|
pandoc \
|
||||||
|
--data-dir pandoc \
|
||||||
|
--defaults bavbavhaus.net.yaml \
|
||||||
|
--template bavbavhaus.net.inline.html5 \
|
||||||
|
--id-prefix $< \
|
||||||
|
--metadata url=$< \
|
||||||
|
--lua-filter update_internal_targets.lua \
|
||||||
|
--output $@ \
|
||||||
|
$<
|
||||||
|
|
||||||
|
# create `partials` directory if it doesn't exist
|
||||||
|
partials:
|
||||||
|
test -d $@ || mkdir $@
|
||||||
|
|
||||||
|
# generate `sitemap.json`
|
||||||
|
sitemap.json: FORCE
|
||||||
|
pandoc lua pandoc/sitemap.lua $@ $(notes)
|
||||||
|
|
||||||
|
# generate `links.json`
|
||||||
|
links.json: FORCE
|
||||||
|
pandoc lua pandoc/links.lua $@ $(notes)
|
||||||
|
|
||||||
|
FORCE: ;
|
||||||
|
|
||||||
|
# clean all targets
|
||||||
|
.PHONY: clean
|
||||||
|
clean:
|
||||||
|
$(RM) $(patsubst %.md,public_html/%.html,$(notes))
|
||||||
|
$(RM) sitemap.json links.json
|
||||||
|
$(RM) -r partials
|
||||||
|
|
||||||
|
# # dest
|
||||||
|
# .PHONY: dest
|
||||||
|
# dest:
|
||||||
|
# test -d "dest" || mkdir "dest"
|
||||||
|
#
|
||||||
|
# # docx
|
||||||
|
# dest/%.docx: notes/%.md\
|
||||||
|
# pandoc/defaults/docx.yaml\
|
||||||
|
# pandoc/reference-sl.docx\
|
||||||
|
# pandoc/csl/chicago-fullnote-sl.csl\
|
||||||
|
# pandoc/filters/pandoc-quotes.lua\
|
||||||
|
# pandoc/filters/delink.lua\
|
||||||
|
# | dest
|
||||||
|
# pandoc --data-dir=pandoc -ddocx -o $@ $<
|
||||||
|
#
|
||||||
|
# # pdf
|
||||||
|
# dest/%.pdf: notes/%.md\
|
||||||
|
# pandoc/defaults/pdf.yaml\
|
||||||
|
# pandoc/csl/chicago-fullnote-sl.csl\
|
||||||
|
# | dest
|
||||||
|
# pandoc --data-dir=pandoc -dpdf -o $@ $<
|
||||||
|
#
|
||||||
|
# # presentation
|
||||||
|
# dest/%.s5.html: notes/%.md\
|
||||||
|
# pandoc/defaults/s5.yaml\
|
||||||
|
# pandoc/templates/default.s5\
|
||||||
|
# pandoc/s5/default/pretty.css\
|
||||||
|
# pandoc/s5/default/framing.css\
|
||||||
|
# pandoc/csl/chicago-fullnote-sl.csl\
|
||||||
|
# pandoc/filters/pandoc-quotes.lua\
|
||||||
|
# | dest
|
||||||
|
# pandoc --data-dir=pandoc -ds5 -o $@ $<
|
40
makefile
40
makefile
|
@ -1,40 +0,0 @@
|
||||||
SHELL = /bin/sh
|
|
||||||
|
|
||||||
# ikiwiki
|
|
||||||
.PHONY: all
|
|
||||||
all:
|
|
||||||
rm -f public_html/*.html
|
|
||||||
pandoc lua pandoc/bavbavhaus.net.lua
|
|
||||||
|
|
||||||
# dest
|
|
||||||
.PHONY: dest
|
|
||||||
dest:
|
|
||||||
test -d "dest" || mkdir "dest"
|
|
||||||
|
|
||||||
# docx
|
|
||||||
dest/%.docx: notes/%.md\
|
|
||||||
pandoc/defaults/docx.yaml\
|
|
||||||
pandoc/reference-sl.docx\
|
|
||||||
pandoc/csl/chicago-fullnote-sl.csl\
|
|
||||||
pandoc/filters/pandoc-quotes.lua\
|
|
||||||
pandoc/filters/delink.lua\
|
|
||||||
| dest
|
|
||||||
pandoc --data-dir=pandoc -ddocx -o $@ $<
|
|
||||||
|
|
||||||
# pdf
|
|
||||||
dest/%.pdf: notes/%.md\
|
|
||||||
pandoc/defaults/pdf.yaml\
|
|
||||||
pandoc/csl/chicago-fullnote-sl.csl\
|
|
||||||
| dest
|
|
||||||
pandoc --data-dir=pandoc -dpdf -o $@ $<
|
|
||||||
|
|
||||||
# presentation
|
|
||||||
dest/%.s5.html: notes/%.md\
|
|
||||||
pandoc/defaults/s5.yaml\
|
|
||||||
pandoc/templates/default.s5\
|
|
||||||
pandoc/s5/default/pretty.css\
|
|
||||||
pandoc/s5/default/framing.css\
|
|
||||||
pandoc/csl/chicago-fullnote-sl.csl\
|
|
||||||
pandoc/filters/pandoc-quotes.lua\
|
|
||||||
| dest
|
|
||||||
pandoc --data-dir=pandoc -ds5 -o $@ $<
|
|
Loading…
Reference in New Issue