21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
-
+
|
series-sources := $(wildcard series/*.poly.pm)
series-html := $(patsubst %.poly.pm, %.html, $(series-sources))
# ~~~ Rules ~~
#
# The order of these dependencies is important. They will be processed left to right.
web: _article_htmls.mark $(articles-html) $(series-html) blog-pg1.html
web: _article_htmls.mark $(articles-html) $(series-html) blog-pg1.html keyword-index.html
web: ## Rebuild all web content (not PDFs)
# The file article_htmls.mark is a zero-byte file that serves only as a marker. 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)
_article_htmls.mark: $(core-files) $(html-deps) template.html.p
raco pollen setup articles/
|
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
|
-
+
+
+
+
|
raco pollen render $@
# Note that if any article is part of a series, it will touch its series .poly.pm file during its
# render, triggering this rule for that series.
$(series-html): %.html: %.poly.pm
raco pollen render $@
# This target will also rebuild pg2, pg3, etc.
# This target will also rebuild pg2, pg3, etc. as needed
blog-pg1.html: $(core-files) $(html-deps) $(articles-html) blog.rkt
rm -f blog*.html
racket -tm blog.rkt
keyword-index.html: $(core-files) $(html-deps) $(articles-html) keyword-index.rkt
racket -tm keyword-index.rkt
spritz: ## Clear Pollen and Scribble cache
rm -rf compiled code-docs/compiled articles/compiled series/compiled
fossil clean code-docs/
publish: check-env
publish: ## Sync all HTML and PDF stuff to the public web server (does not rebuild any files)
|