Commit Graph

6 Commits

Author SHA1 Message Date
tiennm99 5bca4d92ec fix: correct classic-mode mapping per re-read of 2018 image
Ruby moves to HOẢ (was THỔ). THUỶ gains C++ and CSS, drops C#.
MỘC gains Node.js (was HOẢ) and keeps C# (was THUỶ).
THỔ now only JavaScript and Go.
2026-04-27 10:33:18 +07:00
tiennm99 b719ba0cc8 feat: add GitLab Linguist as a second color source
GitLab maintains its own Linguist fork with materially different colors
(JavaScript orange instead of yellow, Go olive instead of cyan, ...).
Added a segmented GitHub | GitLab toggle next to the view toggle in the
modern panel. Switching reloads the data and re-classifies on the fly.

- data/gitlab-colors.json: 91 entries, 2.9KB, converted from gitlab-org/linguist YAML
- js/main.js: refactored render path into loadAndRender(sourceKey)
- js/render-elements.js: new mountSourceToggle helper (tablist + arrow keys)
- index.html: source-toggle slot, source-tag in h2, updated disclaimer
- style.css: pill-segmented .source-toggle styling
2026-04-27 10:29:32 +07:00
tiennm99 c3ef0ff5a2 style: ui/ux audit pass — a11y, contrast, brand cohesion
- Design tokens: add --bg-tint, --accent-ink, --border, --shadow-sm, --radius,
  --focus-ring; Vietnamese-friendly font stack (system-first, no network)
- Contrast: darken --muted; nudge --kim/--moc/--tho for AA on cream bg
- Brand: warm radial wash + hero Ngũ Hành ribbon (5 element-color bars)
- A11y: skip link, focus-ring on tabs/links/details, custom ▸ chevron
- Chip text picker: YIQ → WCAG relative luminance (fixes mid-tone flips)
- Chip aria-label exposes name · #HEX · TIOBE rank for screen readers
- Mobile: 1-col collapse moved 500px → 420px; mode-toggle wraps at 320px
- Reduced-motion: respected on card hover transforms and panel fade
2026-04-27 09:42:35 +07:00
tiennm99 e1ac51c31f feat: focus modern grid on TIOBE Top 20 with 'Xem tất cả' expand toggle
Default view shows only TIOBE-ranked languages (19 chips total) for a cleaner
first impression. A single button at the top of the modern panel toggles to
the full 664-language list. Card counts now read 'X TIOBE · Y khác'. Chips
of TIOBE-ranked languages get a slightly heavier border to stand out.

- js/tiobe-top.js: TIOBE Top 20 (April 2026) keyed by GH Linguist names
- js/main.js: tag entries with rank, sort TIOBE-first then alphabetical
- js/render-elements.js: chip distinction + view-toggle mount
- index.html: view-toggle slot + updated disclaimer
- style.css: .chip-tiobe / .chip-other / .view-toggle-btn rules
2026-04-27 09:24:25 +07:00
tiennm99 5efccffede feat: add classic/modern dual-mode with HSL color classifier
Classic mode reproduces the 2018 toidicodedao image and its 5 hardcoded
element cards verbatim. Modern mode renders a data-driven grid built from
GitHub Linguist colors classified into Ngũ Hành elements via a deterministic
HSL rule set. Toggle persists via URL hash; both panels coexist in DOM with
a CSS opacity fade. Includes a collapsed debug panel listing skipped (no
color) and borderline (near hue boundary) entries.

- data/github-colors.json: vendored from ozh/github-colors (722 entries)
- js/classify-element.js: pure HSL classifier (664 lang sample, 22/22 fixtures pass)
- js/mode-toggle.js: tablist with hash persistence + arrow-key nav
- js/render-elements.js: chip rendering with YIQ contrast + debug panel
- js/main.js: fetch + classify + render entry point
- style.css: segmented toggle, panel fade, chip pill, debug-panel, mobile
2026-04-27 09:19:18 +07:00
tiennm99 62a9d5d828 feat: initial programming fengshui presentation page
Static site presenting the 'Lựa chọn ngôn ngữ lập trình theo phong thuỷ'
image from toidicodedao.com with Ngũ Hành element cards and source credit.
Includes GitHub Pages deploy workflow.
2026-04-27 08:11:22 +07:00