feat: today card, masthead strip & context chip (#11) #106

Merged
manlycucumber merged 1 commit from feature/11-today-masthead into develop 2026-07-03 19:40:40 +00:00
manlycucumber commented 2026-07-03 19:39:26 +00:00 (Migrated from github.com)

Ordo O3 — Epic #11: today card + masthead strip + context chip

Implements the first two public surfaces of the Ordo plugin as both shortcodes and buildless, server-rendered blocks, rendered to the approved Illuminated-Breviary mockup (docs/mockups/v0.1-illuminated-breviary.html) from the bundled engine, fully offline.

Surfaces

  • [ordo_today] (#12) — an embeddable card for the current day: Latin title, class chip, colour chip, season line, and a link into the day view.
  • [ordo_calendar_strip] (#13) — a rolling week strip centred on today that slides a day at a time. Progressive enhancement: with no JavaScript the window scrolls and every day is a link to its page; with JS, chevrons appear and the strip sizes days to a responsive count (3/5/7). A variant="ribbon" renders the one-line S1 masthead (feast · class · feria · date, colour tabs + gem on navy).
  • Rubric + calendar context chip (#14) — reusable, shown on both surfaces, translatable. The one configured calendar key drives both the engine overlay and the chip label, so they can't drift.

Design

  • DayPresenter is the single interpreter of the engine contract (colour.base, rank, season token, Latin names.la); LatinCalendar renders the ribbon's feria + genitive date (Feria V · 3 Septembris mmxxvi).
  • Blocks reuse the shortcode render callbacks via wp.serverSideRender (no JSX, no Node build) — editor and front end render identical markup.
  • All CSS/JS is namespaced under .ordo; assets enqueue only when a surface renders.

Acceptance criteria

  • [ordo_today] renders the current day to the mockup tokens; block renders identical markup; links into the day view; passes the WP-stub render harness. (#12)
  • Strip renders a configurable window centred on today; each day shows its colour and links to its view; collapses gracefully on narrow viewports; block variant identical. (#13)
  • Reusable rubric+calendar chip on both surfaces; translatable; established tokens; reflects the settings-configured calendar. (#14)

Verification

  • WP-stub render harness (23 tests, 67 assertions) resolves real days offline through bundled Core — including the SSPX overlay raising St Pius X III → I class and the universal calendar keeping him III.
  • Computed-style check confirms the surfaces resolve the exact mockup tokens (paper #fffdf8 card with 3px gold rule; navy #0b1d4a strip/ribbon; gold #c9a24a today marker; Cormorant Garamond feasts / Cormorant SC ribbon).
  • phpcs (PSR-12), phpstan level 6, clean-room guard, composer validate --strict — all green; CI matrix 7.4/8.1/8.2/8.3.

The /ordo/YYYY-MM-DD/ link target is rendered by the day view in Epic #15 (O4). Self-hosted fonts fall back to Garamond/Georgia and system-ui; binary font bundling is deferred to O5.

Refs #11 #12 #13 #14

## Ordo O3 — Epic #11: today card + masthead strip + context chip Implements the first two public surfaces of the Ordo plugin as **both shortcodes and buildless, server-rendered blocks**, rendered to the approved Illuminated-Breviary mockup (`docs/mockups/v0.1-illuminated-breviary.html`) from the **bundled engine, fully offline**. ### Surfaces - **`[ordo_today]`** (#12) — an embeddable card for the current day: Latin title, class chip, colour chip, season line, and a link into the day view. - **`[ordo_calendar_strip]`** (#13) — a rolling week strip centred on today that **slides a day at a time**. Progressive enhancement: with no JavaScript the window scrolls and every day is a link to its page; with JS, chevrons appear and the strip sizes days to a responsive count (3/5/7). A `variant="ribbon"` renders the one-line S1 masthead (feast · class · feria · date, colour tabs + gem on navy). - **Rubric + calendar context chip** (#14) — reusable, shown on both surfaces, translatable. The one configured calendar key drives **both** the engine overlay and the chip label, so they can't drift. ### Design - **`DayPresenter`** is the single interpreter of the engine contract (`colour.base`, `rank`, season token, Latin `names.la`); **`LatinCalendar`** renders the ribbon's feria + genitive date (`Feria V · 3 Septembris mmxxvi`). - Blocks reuse the **shortcode render callbacks** via `wp.serverSideRender` (no JSX, no Node build) — editor and front end render identical markup. - All CSS/JS is namespaced under `.ordo`; assets enqueue only when a surface renders. ### Acceptance criteria - [x] `[ordo_today]` renders the current day to the mockup tokens; block renders identical markup; links into the day view; passes the WP-stub render harness. (#12) - [x] Strip renders a configurable window centred on today; each day shows its colour and links to its view; collapses gracefully on narrow viewports; block variant identical. (#13) - [x] Reusable rubric+calendar chip on both surfaces; translatable; established tokens; reflects the settings-configured calendar. (#14) ### Verification - **WP-stub render harness** (23 tests, 67 assertions) resolves real days offline through bundled Core — including the **SSPX overlay raising St Pius X III → I class** and the universal calendar keeping him III. - Computed-style check confirms the surfaces resolve the exact mockup tokens (paper `#fffdf8` card with 3px gold rule; navy `#0b1d4a` strip/ribbon; gold `#c9a24a` today marker; Cormorant Garamond feasts / Cormorant SC ribbon). - `phpcs` (PSR-12), `phpstan` level 6, clean-room guard, `composer validate --strict` — all green; CI matrix 7.4/8.1/8.2/8.3. The `/ordo/YYYY-MM-DD/` link target is rendered by the day view in **Epic #15** (O4). Self-hosted fonts fall back to Garamond/Georgia and system-ui; binary font bundling is deferred to O5. Refs #11 #12 #13 #14
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Directorium/Ordo!106
No description provided.