23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
+
+
+
+
+
+
|
web: vitreous.sqlite $(articles-html) $(series-html)
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)
#
# After articles are rendered in this way, all the series pages are "touched", to trick Pollen into
# re-rendering those pages without relying on its cache. Without this step, it seems those pages
# are rendered “transitively” during the article render, and the listings are incomplete.
vitreous.sqlite: $(core-files) $(html-deps) template.html.p
racket -tm util/init.rkt
raco pollen setup -p articles/
raco pollen render -p -t html articles/*.poly.pm
touch series/*.poly.pm
raco pollen setup -p series/
raco pollen render -p -t html series/*.poly.pm
rm -f template.html series/template.html
tidy -quiet -modify -indent --wrap 100 --wrap-attributes no --tidy-mark no articles/*.html || true
tidy -quiet -modify -indent --wrap 100 --wrap-attributes no --tidy-mark no series/*.html || true
# If the rule for vitreous.sqlite was triggered, all the article HTML files will already have been
|