Hakyll caches per-page outputs, so pages whose dependencies have not changed are not recompiled and the rendered $build-time$ in their footer goes stale relative to a fresh build. The right granularity for "last built at" is site-wide rather than per-page; wrapping the footer timestamp in <span data-build-time> and rewriting it after Hakyll lets every page reflect the current build without paying recompilation cost. * tools/stamp-build-time.py walks _site/**/*.html after Hakyll runs and rewrites each element wrapped in [data-build-time] to the same format Contexts.hs:buildTimeField emits, so a fresh render and the post-pass agree. * templates/partials/footer.html wraps $build-time$ in <span class="footer-build-time" data-build-time>...</span> so the sweep has a stable selector. * Makefile invokes the sweep between embed.py and compress-assets so the .gz/.br sidecars include the fresh stamp. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| archive-banner.html | ||
| archive-removal-notice.html | ||
| footer.html | ||
| head.html | ||
| item-card.html | ||
| list-controls.html | ||
| metadata-header.html | ||
| metadata-tail.html | ||
| nav.html | ||
| page-footer.html | ||
| paginate-nav.html | ||
| photo-card.html | ||