From 0bee3d475909fb31dade4e9a3f1fbc8007872f59 Mon Sep 17 00:00:00 2001 From: tiennm99 Date: Tue, 28 Apr 2026 10:08:45 +0700 Subject: [PATCH] docs(plans): add 260428-1003 plan to implement all remaining items 4-phase plan covering 15 remaining items from todo.md + 2043 review: - Phase 01: CSS/HTML polish (items 5-10, 13, 14, 15) - Phase 02: URL persistence, GitLab tooltip, hide empty KIM (items 2-4) - Phase 03: Top-5 non-TIOBE peek, lunar SVG body texture (items 11-12) - Phase 04: OG social card image generation (item 1, may block on tooling) Defaults baked for the 5 open product questions; flag now if any need changing. KISS: vanilla HTML/CSS/ES modules, no build step, single-file edits only (plus assets/og-card.png). --- .../phase-01-style-and-markup-polish.md | 150 +++++++++++++ ...phase-02-functional-toggles-and-tooltip.md | 198 ++++++++++++++++++ .../phase-03-additive-features.md | 147 +++++++++++++ .../phase-04-og-image-generation.md | 94 +++++++++ .../plan.md | 51 +++++ 5 files changed, 640 insertions(+) create mode 100644 plans/260428-1003-implement-all-remaining/phase-01-style-and-markup-polish.md create mode 100644 plans/260428-1003-implement-all-remaining/phase-02-functional-toggles-and-tooltip.md create mode 100644 plans/260428-1003-implement-all-remaining/phase-03-additive-features.md create mode 100644 plans/260428-1003-implement-all-remaining/phase-04-og-image-generation.md create mode 100644 plans/260428-1003-implement-all-remaining/plan.md diff --git a/plans/260428-1003-implement-all-remaining/phase-01-style-and-markup-polish.md b/plans/260428-1003-implement-all-remaining/phase-01-style-and-markup-polish.md new file mode 100644 index 0000000..ed109cf --- /dev/null +++ b/plans/260428-1003-implement-all-remaining/phase-01-style-and-markup-polish.md @@ -0,0 +1,150 @@ +# Phase 01 — Style & markup polish + +## Context + +Items 5–10 (CSS one-liners), item 13 (chip `role="list"`/`"listitem"`), items 14/15 (decision documentation as code comments). Lowest risk, fastest win. Single pass through `style.css`, `index.html`, `js/render-elements.js`. + +## Overview + +- **Priority:** P2 (polish) + cleanup of decision docs +- **Status:** pending +- **Effort:** ~30 min hand-edit + 10 min manual verify +- **Risk:** very low — pure cosmetic / declarative + +## Files modified + +- `style.css` — items 5, 6, 7, 8, 9, 10, 15 +- `index.html` — item 8 (gold rule under h3 — markup-side none, just CSS), item 14 reference comment +- `js/render-elements.js` — item 13 (chip role attributes) + +## Implementation steps + +### 1. Item 5 — drop subtitle italic + +`style.css:81`: + +```css +/* Was: .hero .subtitle { ... font-style: italic; } + Italic Be Vietnam Pro renders rough on Linux. Use letter-spacing for emphasis. */ +.hero .subtitle { margin: 0.5rem auto 0; max-width: 38ch; color: var(--muted); letter-spacing: 0.15px; } +``` + +### 2. Item 6 — anchor underline migration (figcaption + credit) + +`style.css:123-125` and `style.css:185-188`: + +```css +/* Replace border-bottom: 1px dotted with native dotted underline. + Sub-pixel border at small font sizes can disappear. */ +.original-image figcaption a { + color: var(--accent-ink); + text-decoration: underline; + text-decoration-style: dotted; + text-decoration-color: var(--accent); + text-underline-offset: 2px; +} +.original-image figcaption a:hover { + color: var(--gold); + text-decoration-color: var(--gold); +} +.credit a { + color: var(--accent-ink); + text-decoration: underline; + text-decoration-style: dotted; + text-decoration-color: var(--accent); + text-underline-offset: 2px; + transition: color 0.15s ease, text-decoration-color 0.15s ease; +} +.credit a:hover { color: var(--gold); text-decoration-color: var(--gold); } +``` + +### 3. Item 7 — h3 letter-spacing reduction + +`style.css:161` — change `letter-spacing: 1.2px` → `0.4px` to stop diacritic drift on Vietnamese KIM/MỘC/THUỶ/HOẢ/THỔ. + +### 4. Item 8 — h3 size bump + thin gold rule + +`style.css:161` and a new rule: + +```css +.card h3 { + margin: 0 0 0.5rem; + font-size: 1.2rem; + letter-spacing: 0.4px; + font-weight: 700; + padding-bottom: 0.4rem; + border-bottom: 1px solid color-mix(in oklch, var(--gold) 60%, transparent); +} +``` + +### 5. Item 9 — Credit `