Select Git revision
Andreas Herten authored
Makefile 2.31 KiB
# Subnotebooks need https://pypi.org/project/notebook-splitter/
SLIDES = Introduction-to-Pandas--slides.html
SUBNOTEBOOKS = Introduction-to-Pandas--slides.ipynb Introduction-to-Pandas--tasks.ipynb Introduction-to-Pandas--solution.ipynb
MASTER_NOTEBOOK = Introduction-to-Pandas--master.ipynb
DEP_PRESENTATION = fzj-reveal.js/ Makefile patch-00--add-fzj-reveal-subdir.patch
_TMPFILE1 := .tmp1
_TMPFILE2 := .tmp2
.PHONY: all presentation subnotebooks presentation-pdf
all: presentation subnotebooks
presentation: $(SLIDES)
presentation-pdf: $(SLIDES:html=pdf)
subnotebooks: $(SUBNOTEBOOKS)
%.html: %.ipynb $(DEP_PRESENTATION)
jupyter nbconvert --to=slides --reveal-prefix=reveal.js --stdout $< > $(_TMPFILE1)
gsed -i 's#<script src=#\n<script src=#g' $(_TMPFILE1)
gsed -i '/require.min.js/d' $(_TMPFILE1)
patch --silent --unified --input=fzj-reveal.js/patch-00--new-revealjs-api.patch --output=$(_TMPFILE2) $(_TMPFILE1) && mv $(_TMPFILE2) $(_TMPFILE1)
patch --silent --unified --input=fzj-reveal.js/patch-01--add-fzj-js.patch --output=$(_TMPFILE2) $(_TMPFILE1) && mv $(_TMPFILE2) $(_TMPFILE1)
patch --silent --unified --input=fzj-reveal.js/patch-02--add-fzj-css.patch --output=$(_TMPFILE2) $(_TMPFILE1) && mv $(_TMPFILE2) $(_TMPFILE1)
patch --silent --unified --input=fzj-reveal.js/patch-03--modify-canvas.patch --output=$(_TMPFILE2) $(_TMPFILE1) && mv $(_TMPFILE2) $(_TMPFILE1)
patch --silent --unified --input=patch-00--add-fzj-reveal-subdir.patch --output=$(_TMPFILE2) $(_TMPFILE1) && mv $(_TMPFILE2) $(_TMPFILE1)
mv $(_TMPFILE1) $@
%.pdf: %.html $(DEP_PRESENTATION)
# This needs to have artificially large paper size in order to fix bug https://github.com/astefanutti/decktape/issues/151#issuecomment-456166075
docker run --rm -t -v $(PWD):/slides astefanutti/decktape --size "2560x1440" reveal $< $@
Introduction-to-Pandas--slides.ipynb: $(MASTER_NOTEBOOK)
notebook-splitter --keep task --keep solution --keep onlypresentation --remove onlytask --remove onlysolution --remove nopresentation -o $@ $<
Introduction-to-Pandas--tasks.ipynb: $(MASTER_NOTEBOOK)
notebook-splitter --keep task --keep nopresentation --keep onlytask --remove solution --remove all -o $@ $<
Introduction-to-Pandas--solution.ipynb: $(MASTER_NOTEBOOK)
notebook-splitter --keep task --keep nopresentation --keep solution --keep onlysolution --remove all -o $@ $<