Index: makefile
==================================================================
--- makefile
+++ makefile
@@ -29,30 +29,36 @@
 _article_htmls.mark: $(core-files) $(html-deps) template.html.p
 	raco pollen setup articles/
 	raco pollen render -p -t html articles/*.poly.pm
 	raco pollen setup series/
 	raco pollen render -p -t html series/*.poly.pm
+	tidy -quiet -modify -indent --wrap 100 --tidy-mark no articles/*.html || true
+	tidy -quiet -modify -indent --wrap 100 --tidy-mark no series/*.html || true
 	touch _article_htmls.mark
 
 # If the rule for article_htmls.mark 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, 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 --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 --tidy-mark no $@ || true
 
 # 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 --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 --tidy-mark no $@ || true
 
 spritz: ## Clear Pollen and Scribble cache
 	rm -rf compiled code-docs/compiled articles/compiled series/compiled
 	fossil clean code-docs/