blob: f728e450ea183f3ac9025b5da217396246fb0f73 (
plain)
- markdown-snippets := topbar.md footer.md
- hypertext-snippets = $(markdown-snippets:%.md=%.html)
- markdown := $(filter-out $(markdown-snippets),$(wildcard *.md */*.md */*/*.md))
- hypertext = $(subst index/index,index,$(markdown:%.md=%/index.html))
- graph := $(wildcard *.dot */*.dot */*/*.dot)
- vectorimage-graph := $(graph:%.dot=%.svg)
- sitetitle := $(shell head --lines=1 index.md \
- | grep --perl-regexp --only-matching '^\#\s*\K(\S+(\s\S+)*)+')
- all: $(hypertext) $(vectorimage-graph) style.css
- update: .git
- git pull
- $(MAKE) all
- $(hypertext-snippets): %.html: %.md Makefile
- pandoc -f markdown -t html -o $@ $<
- sed -i -e '1i <div class=\"$*\">' -e '$$ a </div>' $@
- $(vectorimage-graph): %.svg: %.dot Makefile
- dot -Tsvg -o$@ $<
- %.html %/index.html: %.md $(hypertext-snippets) Makefile
- $(eval title = $(shell head --lines=1 $< \
- | grep --perl-regexp --only-matching '^\#\s*\K(\S+(\s\S+)*)+'))
- $(if $(filter-out ./,$(dir $@)),mkdir -p $(dir $@))
- pandoc -f markdown -t html -s \
- $(if $(title),\
- $(if $(filter-out $(sitetitle),$(title)),$(strip \
- --metadata pagetitle='$(sitetitle) -- $(title)'),$(strip \
- --metadata pagetitle='$(title)'))) \
- -c $(shell realpath --relative-to=$(dir $@) style.css) \
- -B topbar.html \
- -A footer.html \
- -o $@ $<
- %.css : %.scss Makefile
- sassc --load-path /usr/share/sass --style compressed $< $@
- clean:
- rm -f $(vectorimage-graph)
- find * -type f -name '*.html' -delete
- find * -type d -empty -delete
- rm -f style.css style.css.map
- rm -rf .sass-cache
- MAKEFLAGS += --jobs
- .NOTPARALLEL: source
- .PHONY: all update clean
|