You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

39 lines
1010 B

# Makefile for creating notebooks, pdfs, html out of the tracked markdown files
.PHONY: clean
venv:
python3 -m venv .venv
./.venv/bin/python -m pip install wheel jupyter
notebooks: createnotebookdir
$(foreach file, $(wildcard markdown/*), pandoc $(basename $(file)).md -o notebooks/$(notdir $(basename $(file))).ipynb ;)
pdf: createpdfdir notebooks
$(foreach file, $(wildcard notebooks/*), jupyter nbconvert --output-dir='./pdf/' --to pdf $(basename $(file)).ipynb ;)
html: createhtmldir notebooks
$(foreach file, $(wildcard notebooks/*), jupyter nbconvert --output-dir='./html/' --to html $(basename $(file)).ipynb ;)
# helper functions to create folders
createnotebookdir:
mkdir -p notebooks
createhtmldir:
mkdir -p html
createpdfdir:
mkdir -p pdf
# clean up helper functions for the individual formats
cleannotebooks:
rm -rf notebooks
cleanpdf:
rm -rf pdf
cleanhtml:
rm -rf html
# clean directory from files and folders that are not tracked
clean: cleannotebooks cleanpdf cleanhtml