Feat: Move from Pages to a Worker and serve popular images as static files

Static assets don't count toward the free plan's 100,000 requests a day, so a
daily GitHub Action promotes the most viewed images (by Cloudflare analytics)
from R2 into public/ before deploying, and reports to ntfy. Zone rules fold
the site and ?i= into the path, since static files ignore query strings.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-26 17:08:34 +00:00
co-authored by Claude Opus 5.5
parent fb3635dd47
commit 32f742b73f
30 changed files with 471 additions and 41 deletions
+12
View File
@@ -0,0 +1,12 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" fill="none" stroke-linecap="round" stroke-linejoin="round">
<style>
.f{stroke:#1a1a1a}.a{stroke:#0070f3}
@media (prefers-color-scheme:dark){.f{stroke:#f5f5f5}}
</style>
<!-- frame -->
<rect class="f" x="7" y="7" width="50" height="50" rx="13" stroke-width="4.5"/>
<!-- the URL "/" rising into a peak -->
<path class="f" d="M19 57 29 32l10 14 5-7 13 5" stroke-width="4.5"/>
<!-- a link as the sun -->
<path class="a" d="M-2-4h-3a4 4 0 0 0 0 8h3M2-4h3a4 4 0 0 1 0 8H2M-4 0h8" stroke-width="2.5" transform="translate(42 22) rotate(-45)"/>
</svg>

After

Width:  |  Height:  |  Size: 627 B