A little website that serves up favicon emojis.
It works by wrapping an emoji in SVG text like so:
<svg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 16 16'><text x='0' y='14'>😽</text></svg>Handy.
Works like this:
<link rel="icon" href="https://fav.farm/💩" />
<link rel="icon" href="https://fav.farm/🌶" />
<link rel="icon" href="https://fav.farm/🔥" />
<link rel="icon" href="https://fav.farm/🥰" />
<link rel="icon" href="https://fav.farm/🖥" />
<link rel="icon" href="https://fav.farm/👓" />Also works with CSS:
a {
cursor:
url("https://fav.farm/🖕") 15 0,
auto;
}This project now runs locally with Cloudflare Workers + Vite via @cloudflare/vite-plugin.
npm install
npm run devThen open the local URL shown by Vite.
Stats are stored in Cloudflare KV with keys shaped like:
favicon:<emoji>incrementCount currently uses KV read/modify/write (simple mode), so extremely high concurrency can lose increments.
To export historical stats from local Deno KV:
npm run migrate:export-deno-kvOptional custom output path:
deno run --allow-read --allow-write --allow-env --allow-net --unstable-kv scripts/export-deno-kv.ts migrations/my-export.jsonExport directly from remote Deno KV (Deno Deploy) :
DENO_KV_DATABASE_ID=<your_database_id> \
DENO_KV_ACCESS_TOKEN=<your_access_token> \
deno run --allow-read --allow-write --allow-env --allow-net --unstable-kv scripts/export-deno-kv.ts --remoteRemote export with custom output path:
DENO_KV_DATABASE_ID=<your_database_id> \
DENO_KV_ACCESS_TOKEN=<your_access_token> \
deno run --allow-read --allow-write --allow-env --allow-net --unstable-kv scripts/export-deno-kv.ts migrations/remote-export.json --remoteThe script writes:
migrations/deno-kv-export.json(detailed export)migrations/deno-kv-export.bulk.json(Cloudflare KV bulk-friendly key/value format) asdfasdd