-
Notifications
You must be signed in to change notification settings - Fork 551
/
Makefile
124 lines (113 loc) · 3.27 KB
/
Makefile
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
PY=python
PANDOC=pandoc
BASEDIR=$(CURDIR)
INPUTDIR=$(BASEDIR)/source
OUTPUTDIR=$(BASEDIR)/output
TEMPLATEDIR=$(INPUTDIR)/templates
STYLEDIR=$(BASEDIR)/style
SCRATCHDIR=$(BASEDIR)/scratch
BIBFILE=$(INPUTDIR)/references.bib
help:
@echo ''
@echo 'Makefile for the Markdown thesis'
@echo ''
@echo 'Usage:'
@echo ' make install install pandoc plugins'
@echo ' make html generate a web version'
@echo ' make pdf generate a PDF file'
@echo ' make docx generate a Docx file'
@echo ' make tex generate a Latex file'
@echo ''
@echo ''
@echo 'get local templates with: pandoc -D latex/html/etc'
@echo 'or generic ones from: https://github.com/jgm/pandoc-templates'
ifeq ($(OS),Windows_NT)
detected_OS=Windows
else
detected_OS=$(shell sh -c 'uname 2>/dev/null || echo Unknown')
endif
UNAME := $(shell uname)
ifeq ($(UNAME), Linux)
install:
bash $(BASEDIR)/install_linux.sh
else ifeq ($(shell uname), Darwin)
install:
bash $(BASEDIR)/install_mac.sh
endif
pdf:
pandoc \
--output "$(OUTPUTDIR)/thesis.pdf" \
--template="$(STYLEDIR)/template.tex" \
--include-in-header="$(STYLEDIR)/preamble.tex" \
--variable=fontsize:12pt \
--variable=papersize:a4paper \
--variable=documentclass:report \
--pdf-engine=xelatex \
"$(INPUTDIR)"/*.md \
"$(INPUTDIR)/metadata.yml" \
--lua-filter=filters/figure-short-captions.lua \
--lua-filter=filters/table-short-captions.lua \
--filter=pandoc-crossref \
--bibliography="$(BIBFILE)" \
--citeproc \
--csl="$(STYLEDIR)/ref_format.csl" \
--number-sections \
--verbose \
2>pandoc.pdf.log
tex:
pandoc \
--output "$(OUTPUTDIR)/thesis.tex" \
--template="$(STYLEDIR)/template.tex" \
--include-in-header="$(STYLEDIR)/preamble.tex" \
--variable=fontsize:12pt \
--variable=papersize:a4paper \
--variable=documentclass:report \
--pdf-engine=xelatex \
"$(INPUTDIR)"/*.md \
"$(INPUTDIR)/metadata.yml" \
--lua-filter=filters/figure-short-captions.lua \
--lua-filter=filters/table-short-captions.lua \
--filter=pandoc-crossref \
--bibliography="$(BIBFILE)" \
--citeproc \
--csl="$(STYLEDIR)/ref_format.csl" \
--number-sections \
--verbose \
2>pandoc.tex.log
html:
pandoc \
--output "$(OUTPUTDIR)/thesis.html" \
--template="$(STYLEDIR)/template.html" \
--include-in-header="$(STYLEDIR)/style.css" \
--toc \
"$(INPUTDIR)"/*.md \
"$(INPUTDIR)/metadata.yml" \
--lua-filter=filters/figure-short-captions.lua \
--lua-filter=filters/table-short-captions.lua \
--filter=pandoc-crossref \
--bibliography="$(BIBFILE)" \
--citeproc \
--csl="$(STYLEDIR)/ref_format.csl" \
--number-sections \
--verbose \
2>pandoc.html.log
rm -rf "$(OUTPUTDIR)/source"
mkdir "$(OUTPUTDIR)/source"
cp -r "$(INPUTDIR)/figures" "$(OUTPUTDIR)/source/figures"
docx:
pandoc \
--output "$(OUTPUTDIR)/thesis.docx" \
--toc \
"$(INPUTDIR)"/*.md \
"$(INPUTDIR)/metadata.yml" \
--lua-filter=filters/figure-short-captions.lua \
--lua-filter=filters/table-short-captions.lua \
--filter=pandoc-crossref \
--bibliography="$(BIBFILE)" \
--citeproc \
--csl="$(STYLEDIR)/ref_format.csl" \
--number-sections \
--verbose \
2>pandoc.docx.log
all: pdf tex html docx
.PHONY: help install pdf docx html tex