Teahub home-screen icon and link-preview card #11

Merged
teahubxyz merged 6 commits from og-card into main 2026-10-16 10:31:33 +00:00
Owner

Gives teahub.xyz a proper phone home-screen icon and a link-preview card for Discord, WhatsApp, iMessage and Slack.

  • apple-touch-icon.png: the 🍵 cup on Teahub green (#2f9e44), opaque 180×180 (it was the cup on white). Now linked from custom/header.tmpl instead of relying on iOS's /apple-touch-icon.png fallback.
  • og-card.png: 1200×630, 15 KB (WhatsApp drops images over ~300 KB). It's the home page's hero: Teahub, Git + Tea + Time, the cup, teahub.xyz.
  • base/head_opengraph.tmpl: Gitea 28.0.0's, changed only for pages that aren't a repository or a profile. og:image is now the card's absolute URL (it was the relative /assets/img/logo.png, which WhatsApp can't use), with width, height and alt, plus twitter:card = summary_large_image. Repositories, issues and profiles still use avatars.
  • src/: the HTML both PNGs are rendered from; the README says how to redo them.

The PNGs went in through the local API on green-tea with a temporary teahubxyz token, deleted afterwards (0 left, checked).

DONE: teahub.xyz's head carries the absolute card URL and the touch-icon link, and both images return 200 at their sizes.

🤖 Generated with Claude Code

https://claude.ai/code/session_01XvDrpBDoAJjW8z1kaa3GAa

Gives teahub.xyz a proper phone home-screen icon and a link-preview card for Discord, WhatsApp, iMessage and Slack. - `apple-touch-icon.png`: the 🍵 cup on Teahub green (#2f9e44), opaque 180×180 (it was the cup on white). Now linked from `custom/header.tmpl` instead of relying on iOS's `/apple-touch-icon.png` fallback. - `og-card.png`: 1200×630, 15 KB (WhatsApp drops images over ~300 KB). It's the home page's hero: Teahub, Git + Tea + Time, the cup, teahub.xyz. - `base/head_opengraph.tmpl`: Gitea 28.0.0's, changed only for pages that aren't a repository or a profile. `og:image` is now the card's absolute URL (it was the relative `/assets/img/logo.png`, which WhatsApp can't use), with width, height and alt, plus `twitter:card` = `summary_large_image`. Repositories, issues and profiles still use avatars. - `src/`: the HTML both PNGs are rendered from; the README says how to redo them. The PNGs went in through the local API on green-tea with a temporary teahubxyz token, deleted afterwards (0 left, checked). DONE: teahub.xyz's head carries the absolute card URL and the touch-icon link, and both images return 200 at their sizes. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01XvDrpBDoAJjW8z1kaa3GAa
teahubxyz added 6 commits 2026-10-16 10:31:11 +00:00
Gitea 28.0.0's head_opengraph.tmpl. Pages that aren't a repository or a profile now point
og:image at the absolute /assets/img/og-card.png (WhatsApp needs an absolute URL), give its
size and alt text, and ask for the large card with twitter:card summary_large_image.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XvDrpBDoAJjW8z1kaa3GAa
iOS was finding apple-touch-icon.png only through the /apple-touch-icon.png fallback; link it
explicitly, with a ?v= so phones don't reuse the old white tile.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XvDrpBDoAJjW8z1kaa3GAa
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XvDrpBDoAJjW8z1kaa3GAa
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XvDrpBDoAJjW8z1kaa3GAa
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XvDrpBDoAJjW8z1kaa3GAa
apple-touch-icon.png: the cup on Teahub green (#2f9e44), opaque 180x180.
og-card.png: the 1200x630 preview card (the home page hero), 15 KB.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01XvDrpBDoAJjW8z1kaa3GAa
teahubxyz merged commit f853d7c97a into main 2026-10-16 10:31:33 +00:00
Author
Owner

Receipt so far (2026-10-16 10:32 UTC):

  • main f853d7c's gitea/custom/templates and public are on green-tea's volume (/data/gitea), copied from the bare repo with git archive, same result as sync-custom.sh. The only differences from what was there: header.tmpl, apple-touch-icon.png, and the new og-card.png and base/head_opengraph.tmpl. Backup of the previous state: /data/og-upload/backup-custom-20261016-103216.tgz.
  • Live now (public files are served as they are): /assets/img/og-card.png 200, 14724 bytes; /assets/img/apple-touch-icon.png 200, 2815 bytes. Both sha256 match the renders.
  • Not live yet: the two templates. Gitea reads them on start, and the restart is waiting on the owner. Until then the head still has the relative og:image. The next restart of green-tea, planned or not, loads them. If pages break after one, restore the backup above into /data/gitea and restart.

🤖 Generated with Claude Code

https://claude.ai/code/session_01XvDrpBDoAJjW8z1kaa3GAa

Receipt so far (2026-10-16 10:32 UTC): - main f853d7c's `gitea/custom/templates` and `public` are on green-tea's volume (`/data/gitea`), copied from the bare repo with `git archive`, same result as `sync-custom.sh`. The only differences from what was there: `header.tmpl`, `apple-touch-icon.png`, and the new `og-card.png` and `base/head_opengraph.tmpl`. Backup of the previous state: `/data/og-upload/backup-custom-20261016-103216.tgz`. - Live now (public files are served as they are): `/assets/img/og-card.png` 200, 14724 bytes; `/assets/img/apple-touch-icon.png` 200, 2815 bytes. Both sha256 match the renders. - **Not live yet:** the two templates. Gitea reads them on start, and the restart is waiting on the owner. Until then the head still has the relative `og:image`. **The next restart of green-tea, planned or not, loads them.** If pages break after one, restore the backup above into `/data/gitea` and restart. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01XvDrpBDoAJjW8z1kaa3GAa
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: teahubxyz/teahub#11