blob: ee0da2c3ecba42dd6934c0a261ee2491e79c1eac (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
# The full path to the Makefile
MAKEFILE_PATH = $(abspath $(lastword $(MAKEFILE_LIST)))
# The path to the directory of the Makefile
MAKEFILE_DIR = $(dir $(MAKEFILE_PATH))
PRINTOUT=modellierung/landung/modellierung.pdf \
modellierung/zwischenlager/methoden-testen.pdf \
modellierung/zwischenlager/methoden-schreiben.pdf \
algorithmik/sequenzen/sequenzen.pdf \
algorithmik/while/bedingte-wiederholung.pdf \
algorithmik/if/bedingte-anweisung.pdf \
algorithmik/if/logik-operatoren.pdf \
algorithmik/for/variablen.pdf \
algorithmik/for/wiederholung-mit-fester-anzahl.pdf
PLOTSRCS := $(shell find -name "*.plantuml")
TIKSSRC := $(shell find -name "*.tikz")
PLOTS := $(PLOTSRCS:.plantuml=.svg) $(TIKSSRC:.tikz=.svg)
SRC := $(shell find -name "*.md")
PANDOC_FILTER := --filter pandoc-plot
PANDOC_FILTER += --lua-filter pandoc/add-erledigt-btn.lua
PANDOC_FILTER += --lua-filter pandoc/color-text.lua
PANDOC_FILTER += --lua-filter pandoc/wrap-merke.lua
PANDOC_FILTER += --lua-filter pandoc/center-img.lua
PANDOC_FILTER += --lua-filter pandoc/meta-vars.lua
PANDOC_FILTER += --lua-filter pandoc/include-files.lua
COMMON_PANDOC_OPTIONS := --embed-resources --standalone \
$(PANDOC_FILTER) \
--metadata-file=pandoc/default-metadata.yml
PANDOC=pandoc $(COMMON_PANDOC_OPTIONS)
.PHONY: all tests
all: $(PLOTS) $(SRC:.md=.html) $(PRINTOUT) $(PRINTOUT:.pdf=_handout.pdf) slides.pdf slides.pptx glossar.xml tests
tests:
make -C tests
%.html: %.md templates/planet-mebis-page-template.html templates/add-glossary-item.js templates/h5p-autoembed.js
$(PANDOC) --data-dir=$(MAKEFILE_DIR) --template=templates/planet-mebis-page-template.html --resource-path="$(@D):." $< > $@
%_handout.html: %.md templates/planet-mebis-handout-template.html
$(PANDOC) --data-dir=$(MAKEFILE_DIR) --template=templates/planet-mebis-handout-template.html --resource-path="$(@D):." $< > $@
%.pdf: %.html
chromium --headless --disable-gpu --print-to-pdf="$@" --generate-pdf-document-outline --no-pdf-header-footer $<
%_handout.pdf: %_handout.html
chromium --headless --disable-gpu --print-to-pdf="$@" --generate-pdf-document-outline --no-pdf-header-footer $<
%.svg: %.plantuml
plantuml --svg $< > $@
%.svg: %.tikz
TEXINPUTS="$(@D):" tikztosvg -p graphicx -l shapes.geometric -l arrows.meta -l positioning -l calc -p struktex -o $@ $<
inkscape --actions="page-fit-to-selection" -o $@ $@
algorithmik/while/bedingte-wiederholung.html: algorithmik/while/tuwas.svg
algorithmik/if/%.svg: algorithmik/if/%.pdf
pdf2svg $< $@
algorithmik/hoehle/nachricht.base64: algorithmik/hoehle/nachricht
cat $< | base64 -w 0 > $@
algorithmik/hoehle/hoehle.html : algorithmik/hoehle/nachricht.base64
slides.pdf: slides.md
$(MAKE) -f Makefile.slides slides.pdf
slides.pptx: slides.pdf
$(MAKE) -f Makefile.slides slides.pptx
glossar.xml: glossar.yml templates/glossar-template.xml
echo | pandoc --metadata-file=glossar.yml --template=templates/glossar-template.xml -t html -o $@
|