17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
-
+
|
series-html := $(patsubst %.poly.pm, %.html, $(series-sources))
# ~~~ Rules ~~
#
# The order of these dependencies is important. They will be processed left to right.
web: vitreous.sqlite $(articles-html) $(series-html)
web: index.html blog-pg1.html keyword-index.html web-extra/martin.css
web: index.html blog-pg1.html keyword-index.html web-extra/martin.css feed.xml
web: ## Rebuild all web content (not PDFs)
# The file vitreous.sqlite is a cache of the rendered HTML and metadata. If it is older than any of
# its dependencies (or missing) all of the articles will be rebuilt. Its dependencies are also on
# the Pollen cache watchlist (see pollen.rkt)
vitreous.sqlite: $(core-files) $(html-deps) template.html.p
raco pollen setup -p articles/
|
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
+
+
+
|
keyword-index.html: $(core-files) $(html-deps) $(articles-html) keyword-index.rkt
racket -tm keyword-index.rkt
# tidy -quiet -modify -indent --wrap 100 --wrap-attributes no --tidy-mark no $@ || true
web-extra/martin.css: web-extra/martin.css.pp
raco pollen render $@
feed.xml: vitreous.sqlite rss-feed.rkt
racket -tm rss-feed.rkt
zap: ## Clear Pollen and Scribble cache, and remove all HTML output
raco pollen reset
rm -f *.html articles/*.html series/*.html vitreous.sqlite
publish: check-env
publish: ## Sync all HTML and PDF stuff to the public web server (does not rebuild any files)
|