@@ -5,11 +5,11 @@ # ~~~ Variables used by rules ~~~ # core-files := pollen.rkt dust.rkt -html-deps := snippets-html.rkt tags-html.rkt crystalize.rkt +html-deps := snippets-html.rkt tags-html.rkt crystalize.rkt cache.rkt article-sources := $(wildcard articles/*.poly.pm) articles-html := $(patsubst %.poly.pm, %.html, $(article-sources)) articles-pdf := $(patsubst %.poly.pm, %.pdf, $(article-sources)) @@ -31,38 +31,39 @@ raco pollen setup -p articles/ raco pollen render -p -t html articles/*.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 + 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 -# re-rendered. (That rule comes before this one in the list of dependencies for "all") But if not, +# re-rendered. (That rule comes before this one in the list of dependencies for "web") But if not, # any individual files that have been edited will get re-rendered. $(articles-html): %.html: %.poly.pm raco pollen render $@ - # tidy -quiet -modify -indent --wrap 100 --wrap-attributes no --tidy-mark no $@ || true + tidy -quiet -modify -indent --wrap 100 --wrap-attributes no --tidy-mark no $@ || true # 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 $@ - # tidy -quiet -modify -indent --wrap 100 --wrap-attributes no --tidy-mark no $@ || true + tidy -quiet -modify -indent --wrap 100 --wrap-attributes no --tidy-mark no $@ || true index.html: $(core-files) $(html-deps) $(series-html) index.html.pp raco pollen render index.html + fossil uv add scribbled/site-footer.html # 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 - # tidy -quiet -modify -indent --wrap 100 --wrap-attributes no --tidy-mark no blog*.html || true + tidy -quiet -modify -indent --wrap 100 --wrap-attributes no --tidy-mark no blog*.html || true 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 + 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 @@ -92,10 +93,11 @@ --exclude='*.swp' \ --exclude=.DS_Store \ --exclude='template*.*' \ --exclude=makefile rm -rf ~/Desktop/publish + fossil uv sync scribble: ## Rebuild code documentation and update Fossil repo scribble --htmls +m --redirect https://docs.racket-lang.org/local-redirect/ code-docs/main.scrbl fossil uv rm scribbled/* rm -rf scribbled/* @@ -110,11 +112,11 @@ @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-15s\033[0m %s\n", $$1, $$2}' article: ## Start a new article from a template racket -tm util/newpost.rkt -.PHONY: all scribble help zap article publish check-env +.PHONY: web scribble help zap article publish check-env .DEFAULT_GOAL := help check-env: ifndef LOCALYARN_SRV