report + plan: the redesign session's record, and the order for the other pages
gates / gates (push) Successful in 6m31s
gates / gates (push) Successful in 6m31s
REPORT-redesign-2026-10-10.md (not REPORT.md: that file belongs to the kernel
night session de4a8d20 and is overwritten per session).
NEXT.md - the other pages in order with what each needs, and the traps:
teszteles/en/testing first (the destination of every CTA, newest page)
gyik/en/faq second, with the warning that gate 17 requires the FAQPage JSON-LD
to EQUAL the visible answers, so every copy edit there is a two-place edit
technologiak third ("Ipari szintu megoldasok" is the exact language the home
page just removed)
alkalmazasok is BLOCKED on R-929 - prose 58, page 59 cards, catalog 60
adatkezeles/feltetelek are reviewed legal texts; a dash sweep there needs the
operator's word separately and is not ours to take
It also records the per-page em-dash count: 300 across 19 pages, the preview
being the only page at zero.
STATUS.md - the operator's one screen, in plain language: the preview is waiting
on him, the two fixes that DID go live, and the two new decisions (R-931 the
missing compression, R-929 the app count).
website/CHANGELOG.md - the footer sweep and R-930, both with their measurements
and with the scope stated rather than implied.
Register 127 -> 129 (R-930, R-931 opened; none closed).
This commit is contained in:
@@ -0,0 +1,117 @@
|
||||
# The other pages, in order, with what each needs
|
||||
|
||||
Written 2026-10-11 at the end of the home-page redesign session. The home page's new design is
|
||||
**staged at `/preview/` and not live** — the operator chose to sit with it. Nothing below should start
|
||||
before that decision, because every page inherits whatever the home page settles.
|
||||
|
||||
## What already reached every page in this session
|
||||
|
||||
Two things were approved at STOP 3 and are **live on all 18 public pages now**:
|
||||
|
||||
- The shared footer's em dash became the correct spaced en dash.
|
||||
- `.cta-button` is 1.2rem/700, which puts it in WCAG's large-text band and clears the 3:1 floor
|
||||
(R-930). Verified one line and no overflow on every page at 390 px and at 1440 px.
|
||||
|
||||
Neither is page-specific work, and neither needs repeating below.
|
||||
|
||||
## The measured backlog this session uncovered
|
||||
|
||||
**300 em dashes remain in the bodies of the other 19 pages.** The preview is the only page at zero.
|
||||
Per page, counted 2026-10-11:
|
||||
|
||||
| Page | `—` in body | Twin | `—` in twin |
|
||||
|---|---|---|---|
|
||||
| `gyik.html` | **53** | `en/faq.html` | **53** |
|
||||
| `adatkezeles.html` | **33** | none (Hungarian only, R-813) | — |
|
||||
| `szolgaltatasok-nonpublic.html` | 27 | none (hidden) | — |
|
||||
| `teszteles.html` | 23 | `en/testing.html` | 24 |
|
||||
| `index.html` | 17 | `en/index.html` | 19 |
|
||||
| `technologiak.html` | 8 | `en/technology.html` | 8 |
|
||||
| `feltetelek.html` | 7 | none (Hungarian only) | — |
|
||||
| `biztonsagimentes.html` | 5 | `en/backups.html` | 5 |
|
||||
| `kapcsolat.html` | 5 | `en/contact.html` | 6 |
|
||||
| `alkalmazasok.html` | 3 | `en/apps.html` | 1 |
|
||||
| `letoltes.html` | 1 | `en/download.html` | 2 |
|
||||
|
||||
A dash sweep is **not** a mechanical find-and-replace. In Hungarian the gondolatjel is a spaced en
|
||||
dash, but most of these want a colon, a comma or a full stop instead, and `felhom-web-design` §4
|
||||
rations the en dash to one per paragraph. Each one is a sentence-level decision.
|
||||
|
||||
---
|
||||
|
||||
## The order, and why
|
||||
|
||||
### 1. `/teszteles` + `/en/testing` — do these first
|
||||
The destination of every call to action on the site, and the newest page, so the least likely to
|
||||
need structural change.
|
||||
- **Needs:** the dash sweep (23 + 24). A read against the home page's new voice once that is settled.
|
||||
- **Watch:** it was styled in `69035f4af5` by joining the `.page-technologiak` scope, and it carries
|
||||
justified body copy that no other page uses. Do not "tidy" that into the shared rules without
|
||||
checking both pages.
|
||||
|
||||
### 2. `/gyik` + `/en/faq` — the biggest content win and the biggest trap
|
||||
106 dashes between them, 41 questions each.
|
||||
- **Needs:** the dash sweep, and the long-list treatment the home page just got. 41 questions in one
|
||||
flat list is the same defect as the home page's ten equal cards.
|
||||
- **The trap, stated plainly:** `site_gates.py` gate 17 requires the `FAQPage` JSON-LD to equal the
|
||||
**visible** questions and answers exactly. Every copy edit is therefore a **two-place edit**, and
|
||||
the gate will catch a half-done one. Budget for that.
|
||||
|
||||
### 3. `/technologiak` + `/en/technology` — the worst remaining marketing language
|
||||
- **Needs:** „Ipari szintű megoldások, otthoni környezetben" and „Professzionális Technológiák" are
|
||||
the exact phrasing the home page just removed. Replace with what the box actually runs.
|
||||
- **Note:** the home page's new band already links here and names Docker, Proxmox, the three backup
|
||||
tiers and the tunnel. Keep the two consistent.
|
||||
|
||||
### 4. `/alkalmazasok` + `/en/apps` — blocked on a number
|
||||
- **Needs:** only 4 dashes, so the copy work is small.
|
||||
- **Blocked on R-929:** the prose says **58**, the page renders **59** cards, the catalog holds **60**
|
||||
templates. The home page's new band says 58, matching every other prose claim on the site. **Do not
|
||||
touch any app count until R-929 is settled**, or the site will disagree with itself in a new place.
|
||||
|
||||
### 5. `/biztonsagimentes` + `/en/backups`
|
||||
- **Needs:** 10 dashes. The 3-2-1 figure on the home page moved off the mono font (R-6b); check
|
||||
whether this page uses the same pattern and should follow.
|
||||
|
||||
### 6. `/kapcsolat` + `/en/contact`
|
||||
- **Needs:** 11 dashes. **Do not touch the form's field names, order or endpoint** — the analytics and
|
||||
the `?tema=` preselect depend on them, and taste-skill §11.F puts form fields behind an explicit
|
||||
approval anyway.
|
||||
|
||||
### 7. `/letoltes` + `/en/download` — smallest, 3 dashes
|
||||
- **Watch:** `site_gates.py` checks the two download pages agree on the ISO file name and its sha.
|
||||
A copy edit must not disturb those strings.
|
||||
|
||||
### 8. `/adatkezeles` and `/feltetelek` — legal, text frozen
|
||||
33 and 7 dashes, and **the task that created this plan explicitly excluded their text**. These are
|
||||
reviewed legal documents with dated records in `documentation/legal/`. A dash sweep here is a change
|
||||
to a legal text and needs the operator's word, separately. Layout and typography may be improved
|
||||
without touching a word.
|
||||
|
||||
### 9. `/404.html` and `/szolgaltatasok-nonpublic` — last
|
||||
Neither is in the conversion path. `404.html` has no twin by design; the prices page is hidden and
|
||||
stays Hungarian.
|
||||
|
||||
---
|
||||
|
||||
## Two things that will pay more than any page
|
||||
|
||||
1. **R-931 — nothing on felhom.eu is compressed.** `site.css` ships as 94 310 raw bytes with no
|
||||
`Content-Encoding`, even when gzip is offered. Roughly a fifth of that with gzip, on **every**
|
||||
page. It is an nginx setting in `manifests/webpage.yaml`. This is worth more than the whole
|
||||
redesign and it is one config block.
|
||||
2. **The shared stylesheet is now 94 KB and only ever grows.** This session added ~7 KB and every
|
||||
page pays it uncompressed. Before the next page lands, it is worth asking whether the retired
|
||||
home-page classes (`.why-grid`, `.problem-grid`, `.service-list`, `.apps-showcase`,
|
||||
`.process-steps`, `.step-number`, the `float` keyframe) can be deleted — but **only after the
|
||||
switch**, because until then `index.html` still uses every one of them.
|
||||
|
||||
## The method that worked, so nobody re-derives it
|
||||
|
||||
`resize_window` does not move `window.innerWidth` on this workstation and DevTools device mode
|
||||
cannot be driven from the extension. Render the page in a **same-origin iframe** at the width you
|
||||
want and screenshot that rectangle: the media queries fire on the iframe's width. Two positive
|
||||
observables prove it is the real mobile layout rather than a squeezed desktop one — the hamburger
|
||||
computes to `display: block`, and `clientWidth == scrollWidth`. In a **background** tab the lazy-load
|
||||
observer never fires, so set `loading = 'eager'` and re-assign `src` before measuring or capturing,
|
||||
or you will photograph a page of empty image boxes. Recorded in `felhom-web-design` §10.
|
||||
Reference in New Issue
Block a user