56 lines
1.5 KiB
Makefile
56 lines
1.5 KiB
Makefile
EXAMPLE_FOLDER := example
|
|
PROJECT_STATIC_FOLDER := static
|
|
EXAMPLE_STATIC_FOLDER := $(EXAMPLE_FOLDER)/static
|
|
RELEASE_FOLDER := release
|
|
|
|
EXAMPLE_FILENAME := example
|
|
EXAMPLE_BIBLIOGRAPHY_PATH := $(EXAMPLE_FOLDER)/references.bib
|
|
CSL_PATH := $(PROJECT_STATIC_FOLDER)/heg-iso-690.csl
|
|
|
|
GIT_LAST_TAG := $(shell git describe --tags --abbrev=0 2>/dev/null || echo "no-tag")
|
|
|
|
.PHONY: all
|
|
all: pdf
|
|
|
|
.PHONY: serve
|
|
serve:
|
|
python -m http.server
|
|
|
|
.PHONY: html
|
|
html:
|
|
pandoc --to=html --standalone \
|
|
--template=$(PROJECT_STATIC_FOLDER)/template.html \
|
|
--css=../$(PROJECT_STATIC_FOLDER)/style.css \
|
|
-V static='../static' \
|
|
--toc --toc-depth=2 \
|
|
--citeproc --bibliography=$(EXAMPLE_BIBLIOGRAPHY_PATH) --csl=$(CSL_PATH) \
|
|
--out=$(EXAMPLE_FOLDER)/$(EXAMPLE_FILENAME).html \
|
|
$(EXAMPLE_FOLDER)/$(EXAMPLE_FILENAME).md
|
|
|
|
.PHONY: pdf
|
|
pdf:
|
|
cd $(EXAMPLE_FOLDER); \
|
|
pandoc --to=pdf --pdf-engine=pagedjs-cli --embed-resources=true \
|
|
--template=../$(PROJECT_STATIC_FOLDER)/template.html \
|
|
--css=../$(PROJECT_STATIC_FOLDER)/style.css \
|
|
-V static='../static' -V noscript=true \
|
|
--toc --toc-depth=2 \
|
|
--citeproc --csl=../$(CSL_PATH) \
|
|
--out=$(EXAMPLE_FILENAME).pdf \
|
|
$(EXAMPLE_FILENAME).md
|
|
|
|
.PHONY: watch
|
|
watch:
|
|
watchexec -r -w . -i $(EXAMPLE_FOLDER)/$(EXAMPLE_FILENAME).html \
|
|
-- make html
|
|
|
|
.PHONY: release
|
|
release:
|
|
zip -r $(RELEASE_FOLDER)/$(GIT_LAST_TAG).zip static
|
|
make
|
|
cp $(EXAMPLE_FOLDER)/$(EXAMPLE_FILENAME).pdf \
|
|
$(RELEASE_FOLDER)/$(GIT_LAST_TAG).pdf
|
|
|
|
.PHONY: clean
|
|
rm -f $(RELEASE_FOLDER)/*.*
|