Basic templates
This commit is contained in:
46
Makefile
46
Makefile
@ -9,14 +9,15 @@ MAKEFILE = Makefile
|
||||
OUTPUT_FILENAME = book
|
||||
METADATA = metadata.yml
|
||||
CHAPTERS = chapters/*.md
|
||||
TOC = --toc --toc-depth=2
|
||||
METADATA_ARGS = --metadata-file=$(METADATA)
|
||||
IMAGES_FOLDER = images
|
||||
IMAGES = $(IMAGES_FOLDER)/*
|
||||
COVER_IMAGE = $(IMAGES_FOLDER)/cover.png
|
||||
TOC = --toc --toc-depth 2
|
||||
METADATA_ARGS = --metadata-file $(METADATA)
|
||||
IMAGES = $(shell find images -type f)
|
||||
TEMPLATES = $(shell find templates/ -type f)
|
||||
COVER_IMAGE = images/cover.png
|
||||
MATH_FORMULAS = --webtex
|
||||
CSS_FILE = style.css
|
||||
CSS_ARGS = --css=$(CSS_FILE)
|
||||
|
||||
# TODO: ??
|
||||
CSS_ARGS = --css $(CSS_FILE)
|
||||
|
||||
# Debugging
|
||||
|
||||
@ -29,15 +30,24 @@ CSS_ARGS = --css=$(CSS_FILE)
|
||||
|
||||
# Combined arguments
|
||||
|
||||
ARGS = $(TOC) $(MATH_FORMULAS) $(CSS_ARGS) $(METADATA_ARGS) $(FILTER_ARGS) $(DEBUG_ARGS)
|
||||
ARGS = $(TOC) $(MATH_FORMULAS) $(METADATA_ARGS) $(FILTER_ARGS) $(DEBUG_ARGS)
|
||||
|
||||
PANDOC_COMMAND = pandoc
|
||||
|
||||
# Per-format options
|
||||
|
||||
EPUB_ARGS = --epub-cover-image=$(COVER_IMAGE)
|
||||
HTML_ARGS = --standalone --to=html5
|
||||
PDF_ARGS = -V geometry:margin=1in -V documentclass=report --pdf-engine=xelatex
|
||||
DOCX_ARGS =
|
||||
DOCX_ARGS = --standalone --reference-doc templates/docx.docx
|
||||
EPUB_ARGS = --template templates/epub.html --epub-cover-image $(COVER_IMAGE)
|
||||
HTML_ARGS = --template templates/html.html --standalone --to html5
|
||||
PDF_ARGS = --template templates/pdf.latex --pdf-engine xelatex
|
||||
|
||||
# Per-format file dependencies
|
||||
|
||||
BASE_DEPENDENCIES = $(MAKEFILE) $(CHAPTERS) $(METADATA) $(IMAGES) $(TEMPLATES)
|
||||
DOCX_DEPENDENCIES = $(BASE_DEPENDENCIES)
|
||||
EPUB_DEPENDENCIES = $(BASE_DEPENDENCIES)
|
||||
HTML_DEPENDENCIES = $(BASE_DEPENDENCIES)
|
||||
PDF_DEPENDENCIES = $(BASE_DEPENDENCIES)
|
||||
|
||||
####################################################################################################
|
||||
# Basic actions
|
||||
@ -62,25 +72,23 @@ pdf: $(BUILD)/pdf/$(OUTPUT_FILENAME).pdf
|
||||
|
||||
docx: $(BUILD)/docx/$(OUTPUT_FILENAME).docx
|
||||
|
||||
$(BUILD)/epub/$(OUTPUT_FILENAME).epub: $(MAKEFILE) $(METADATA) $(CHAPTERS) $(CSS_FILE) $(IMAGES) \
|
||||
$(COVER_IMAGE)
|
||||
$(BUILD)/epub/$(OUTPUT_FILENAME).epub: $(EPUB_DEPENDENCIES)
|
||||
mkdir -p $(BUILD)/epub
|
||||
$(PANDOC_COMMAND) $(ARGS) $(EPUB_ARGS) -o $@ $(CHAPTERS)
|
||||
@echo "$@ was built"
|
||||
|
||||
$(BUILD)/html/$(OUTPUT_FILENAME).html: $(MAKEFILE) $(METADATA) $(CHAPTERS) $(CSS_FILE) $(IMAGES)
|
||||
$(BUILD)/html/$(OUTPUT_FILENAME).html: $(HTML_DEPENDENCIES)
|
||||
mkdir -p $(BUILD)/html
|
||||
$(PANDOC_COMMAND) $(ARGS) $(HTML_ARGS) -o $@ $(CHAPTERS)
|
||||
cp -R $(IMAGES_FOLDER)/ $(BUILD)/html/$(IMAGES_FOLDER)/
|
||||
cp $(CSS_FILE) $(BUILD)/html/$(CSS_FILE)
|
||||
cp --parent $(IMAGES) $(BUILD)/html/
|
||||
@echo "$@ was built"
|
||||
|
||||
$(BUILD)/pdf/$(OUTPUT_FILENAME).pdf: $(MAKEFILE) $(METADATA) $(CHAPTERS) $(CSS_FILE) $(IMAGES)
|
||||
$(BUILD)/pdf/$(OUTPUT_FILENAME).pdf: $(PDF_DEPENDENCIES)
|
||||
mkdir -p $(BUILD)/pdf
|
||||
$(PANDOC_COMMAND) $(ARGS) $(PDF_ARGS) -o $@ $(CHAPTERS)
|
||||
@echo "$@ was built"
|
||||
|
||||
$(BUILD)/docx/$(OUTPUT_FILENAME).docx: $(MAKEFILE) $(METADATA) $(CHAPTERS) $(CSS_FILE) $(IMAGES)
|
||||
$(BUILD)/docx/$(OUTPUT_FILENAME).docx: $(DOCX_DEPENDENCIES)
|
||||
mkdir -p $(BUILD)/docx
|
||||
$(PANDOC_COMMAND) $(ARGS) $(DOCX_ARGS) -o $@ $(CHAPTERS)
|
||||
@echo "$@ was built"
|
||||
|
||||
Reference in New Issue
Block a user