Files
felhom.eu/REPORT.md
T
admin 43189e8972 D3 Part 4: docs — .tag/.badge addendum, website CHANGELOG, REPORT
- design-system.md: the .tag (outline+dot, state) vs .badge (filled
  chip, static informational label) distinction the D1 unified view
  left implicit, + a Website (TASK-D3) section (shared site.css,
  self-hosted fonts, external sprite, mask-based CSS marks, ?v=
  cache-busting, site_gates.py enforcement).
- website/CHANGELOG.md created (newest-on-top) with the D3 entry.
- REPORT.md overwritten per §15 (baselines, commits, gate outputs +
  all three red-proofs, 84-problem/182-emoji baseline → 0, contact-form
  freeze proof + live TESZT submission resend id, live checks, the
  narrow-viewport limitation, observations).
2026-07-02 22:19:58 +02:00

101 lines
6.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# felhom.eu — task reports
> **Overwrite** this file with a summary of the most recent task only (uniform with the other repos; not cumulative). The cumulative hub history lives in [hub/CHANGELOG.md](hub/CHANGELOG.md); the scripts history lives in [scripts/CHANGELOG.md](scripts/CHANGELOG.md).
---
# REPORT — TASK-D3: felhom.eu website re-skin (design system v2, static-site edition)
**Date:** 2026-07-02 · **Deploy:** push = live via nginx + git-sync (verified per commit)
## 1. Baselines
- felhom.eu `main` @ `a336fe3` — matched the spec; **main had not moved** at session start.
- felhom-controller @ `d0c70a7` (v0.98.3) — read-only source of the 4 woff2 files (byte-copied).
## 2. Commits (all pushed to `main`, live site checked after each)
| Commit | Content |
|---|---|
| `dd54e4c` | Part 1: assets + gates — site.css, fonts/, icons.svg (70 symbols), scripts/site_gates.py; pages untouched, live site unaffected |
| `bed8675` | Part 2: index + kapcsolat converted |
| `ccbb13a` | Part 3: the remaining five pages converted; ALL 8 gates green |
| `f114f4a` | Open Source badge: checkmark-green.svg image → sprite `.ico-yes` check (found live) |
| (docs) | Part 4: design-system addendum + website/CHANGELOG.md + this REPORT |
## 3. What changed per page (uniform)
Google Fonts links + preconnects removed → `/assets/site.css?v=1`; embedded `<style>` deleted
(7→0); `page-<name>` body class; canonical nav/footer (active marker per page; index's
`#szolgaltatasok` href normalized to `/#szolgaltatasok`); every emoji → sprite icon (`.ico-tile`
48px bg-2 feature squares / `.ico-lg` heading icons / inline `.ico`) or plain text; legacy inline
`var(--…)` names → v2 tokens. Content, copy, meta/SEO/JSON-LD, and the umami analytics snippet
preserved verbatim (gate-asserted per page). `alkalmazasok.html` verified **hand-maintained**
(no generator anywhere in the workspace) before editing; its 49-card grid, screenshots, and
logos untouched. `szolgaltatasok-nonpublic` re-skinned, still unlinked from nav.
## 4. Gate outputs + red-proofs
Final run: **`site gates OK — BOM, emoji=0, nav/footer consistent, analytics present, no CDN,
no legacy tokens, no <style>, cache-busted assets`** (8 gates).
Baselines (pre-task tree): **84 problems, 182 emoji** (the spec's leftover estimate was low — the
website was never swept; the Python gate counts what Windows grep could not). Style blocks 7→0.
Banned tokens (Google Fonts refs, legacy hexes, 999px, box-shadow) → 0.
Red-proofs (run on a copy, shown, restored):
- **A (BOM):** stripping gyik.html's BOM → `FAIL: gyik.html: missing UTF-8 BOM (first bytes: 3c2144)`; restored → exit 0.
- **B (nav/footer):** mutating one footer char on technologiak → `FAIL: technologiak.html: <footer> differs from index.html`; restored → 0.
- **C (emoji):** planting 🔒 into index → `FAIL: index.html: 1 emoji (🔒 …)`; restored → 0. Pre-task tree count: 182.
## 5. Contact form (Scenario E)
Functional markup frozen — the `bed8675` diff shows **zero** changed lines touching
`contactForm`, `formEndpoint` (`/api/contact`), or any field `name=`/`id=`
(name/email/subject/message/privacy/website honeypot). Visual-only JS changes: file-type/paperclip
emoji strings → sprite refs, `✕``&#215;`, status-message emoji prefixes dropped.
**Live TESZT submission** (real UI, after deploy): success status rendered
(„Üzeneted sikeresen elküldtük!"), and the contact-mailer pod logged
`[OK] Email sent: resend_id=6835b3ac-6f46-45c0-8aa8-a10b852aaa7a subject="[Felhom.eu] Egyéb
TESZT — D3 website re-skin validálás"` — accepted end-to-end via Resend.
## 6. Live checks
- All 7 pages **200** with `site.css?v=1`, zero `fonts.googleapis`/`<style>` in the served bytes;
BOM passes through nginx byte-for-byte (`efbbbf` leading the served /).
- Assets: `site.css?v=1` 200 text/css, `icons.svg?v=1` 200 image/svg+xml, woff2 200 font/woff2.
- Internal linkcheck (live): every internal href across the pages → 200.
- Chrome (live): `document.fonts.check` true for both faces; **0** Google requests; self-hosted
pjs-latin + pjs-latin-ext + jbm-latin loaded (ő/ű render in PJS — hero screenshot); DOM-asserted
0 box-shadows, 0 radii other than 0/2px/50%; 31 sprite icons on index; comparison lists render
the mask-based ✓/✗ marks; screenshots of index (hero + feature tiles), alkalmazasok grid,
technologiak comparison.
- **Responsive:** the mobile menu CSS/JS moved verbatim (same ≤900px breakpoint); the served
site.css verifiably contains the mobile rules (CSSOM check: `.hamburger {display:block}`,
off-canvas `.nav-links`). A true ~375px viewport screenshot was NOT possible — the window
manager forced the browser window back to 1920px; noted under §7.
## 7. NOT live-validated
- **Narrow-viewport rendering** (real ~375px screenshot): resize was overridden by the window
manager; verified statically instead (mobile rules present in the served CSS + the pre-existing,
unchanged menu JS). Worth one phone-check by the operator.
- Cache expiry over the 7-day window (the ?v= scheme makes future changes safe regardless).
## 8. Observations (not acted on)
1. `alkalmazasok.html` feature keywords remain filled chips (restyled flat 2px, blue-dim) — per
the new `.tag` vs `.badge` addendum they are informational `.badge`-semantics labels; converting
~200 of them to icon+text metarows would need per-feature icon inventions. Deliberate deviation
from the literal "chips → metarow" wording, documented in the addendum.
2. The comparison/cons lists inherited `--warn`-colored ✗ marks from the original orange — kept
(a con is a warning-ish signal); pure-absence marks use muted.
3. The nonpublic draft still carries placeholder pricing copy (content freeze — untouched).
4. Weight: alkalmazasok.html is ~97 KB HTML + dozens of webp screenshots; a lazy-loading pass
would help mobile data budgets.
5. The hero float animation + nav backdrop blur kept (motion, not shadow); a
`prefers-reduced-motion` block now disables animations globally.
6. `assets/checkmark-green.svg` is now unreferenced (after `f114f4a`) — left in place; removable
in a later cleanup.