-
Notifications
You must be signed in to change notification settings - Fork 64
/
Makefile
125 lines (102 loc) · 2.71 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
125
# Makefile originally from the 'Mastering Node' book written TJ Holowaychuk
# https://github.com/visionmedia/masteringnode
#
PDF_FLAGS = --fontsize 9.0 \
--linkstyle plain \
--linkcolor blue \
--embedfonts \
--footer "c 1" \
--no-toc
MD = pages/title.md \
chapters/toc.md \
chapters/introduction.md \
chapters/hello_world.md \
chapters/platform_features.md \
chapters/jitsu.md \
chapters/web_admin.md \
chapters/json_api.md \
chapters/haibu.md \
chapters/open_source_projects.md \
chapters/faq.md \
chapters/support.md \
appendices/toc.md \
appendices/package.json.md \
appendices/resources.md \
appendices/building_the_handbook.md
README = pages/title.md \
chapters/toc.readme.md \
chapters/introduction.md \
chapters/hello_world.md \
chapters/platform_features.md \
chapters/jitsu.md \
chapters/web_admin.md \
chapters/json_api.md \
chapters/haibu.md \
chapters/open_source_projects.md \
chapters/faq.md \
chapters/support.md
API = chapters/json_api.md
HTML = $(MD:.md=.html)
all: book.html book.pdf book.md ReadMe.md API.md website clear
regenerate: clean all
git commit -a -m '[dist] Regenerated handbook' && echo done
publish: clean all
git commit -am '[dist] Regenerated handbook'
git push origin master
./bin/deploy.sh
book.pdf: $(HTML)
@echo "\n... generating $@"
htmldoc --webpage -f $@ $(PDF_FLAGS) $(HTML)
book.md: $(HTML)
@echo "\n... generating $@"
cat $(MD) > book.md
ReadMe.md: $(HTML)
@echo "\n... generating $@"
cat $(README) > ReadMe.md
API.md: $(HTML)
@echo "\n... generating $@"
cat $(API) > API.md
book.html: pages/head.html pages/tail.html $(HTML)
@echo "\n... generating $@"
@echo $(HTML)
cat pages/head.html $(HTML) pages/tail.html > book.html
public:
mkdir public
website: book.html public
@echo "\n... copying items into ./public"
cp book.html public/index.html
cp book.pdf public/book.pdf
cp -r fig public/fig
serve: website
@echo "\n... serving website!"
node ./bin/server
%.html: %.md
ronn --pipe --fragment $< \
| sed -r 's/<h1>([^ ]+) - /<h1>/' \
> $@
book.mobi:
@echo "\n... generating $@"
ebook-convert book.html book.mobi --output-profile kindle
book.epub:
@echo "\n... generating $@"
ebook-convert book.html book.epub \
--title "Nodejitsu Handbook" \
--no-default-epub-cover \
--authors "Marak Squires, Joshua Holbrook" \
--language en \
--cover pages/cover.jpg
view: book.pdf
open book.pdf
clean:
rm -f book.*
rm -f chapters/*.html
rm -f appendices/*.html
rm -f pages/index.html
rm -f pages/title.html
rm -rf public
clear:
rm -f chapters/*.html
rm -f appendices/*.html
rm -f pages/index.html
rm -f pages/title.html
.PHONY: view clean regenerate