feat(identity): real author photo across the site + About page rewrite
Deploy / build (push) Successful in 48s

The photo is the identity evidence the external review flagged as the biggest
gap. One source image (Pictures/Professional Portrait with Blue Gradient
Background.png, 1254x1254), two sizes, WebP first with a JPEG fallback —
continuous tone is the case where WebP/JPEG beat PNG:

  640x640  42 KB JPG / 26 KB WebP   About page (190 CSS px)
  128x128   3 KB JPG /  2 KB WebP   author card + home hero avatar

It now appears in the About hero, the author card at the end of every post, the
home hero (both languages), and JSON-LD Person.image — the node search engines
read to associate the name with a face.

About went from 1,024 characters to five sections: identity with photo, "By the
numbers" (162 containers / 3 hosts / 71 essays / 0 hosting companies between me
and the servers), the real tech stack in four columns, the Hoelee Enterprise
block (website design and development is the main business, email hosting
secondary), and a contact split between hiring and business.

Also: the headshot's dark-blue background sits close to the page background, so
the photo, hero avatar and card avatar get a faint brand ring plus shadow.

Pictures/ keeps the converted JPG master next to the untouched PNG.
This commit is contained in:
hoelee committed 2026-10-16 22:07:25 +08:00
1 parent 215051ef08
commit 6b7c5a983f
12 files changed
+410 -65

No files matched your search

+10
View File
@@ -17,4 +17,14 @@ export const SITE = {
gitea: 'https://git.hoelee.com/hoelee',
website: 'https://www.hoelee.com',
twitter: '', // add if you have one
// Author photo (B4, 2026-10-16). One real headshot, two sizes, WebP first with the
// JPEG as fallback — continuous-tone images are the case where JPEG/WebP beat PNG.
// Used by: the About page, the author card on every post, the home hero, and the
// JSON-LD `Person.image` (the identity signal search engines read).
photo: {
large: '/images/lee-teong-hoe-640.jpg', // 640x640 — About page (320 CSS px @2x)
largeWebp: '/images/lee-teong-hoe-640.webp',
small: '/images/lee-teong-hoe-128.jpg', // 128x128 — author card avatar (64 CSS px @2x)
smallWebp: '/images/lee-teong-hoe-128.webp',
},
} as const;