Repository navigation
feat(teched): /teched/ top-level page (Unit 7, #2312) - #2330
Merged
Merged
Conversation
Create the SAP TechEd 2026 Sessions page that mounts the Unit 8 island
(#teched-sessions-grid-mount) and serves via the pages-from-HANA pipeline.
- hugo/content/teched/_index.md + hugo/layouts/teched/list.html: page shell
with <h1>, separate Berlin/Virtual section headings, per-venue <noscript>
fallback lists, and the content-hashed island via the island-src.html
partial. Uses a <div> wrapper (not a nested <main>) since baseof already
provides the sole <main> landmark — avoids axe landmark-no-duplicate-main.
- scripts/fetch-teched.ts: fetch ${CAP_BASE}/build/teched -> hugo/data/teched.json,
fail-open to empty {sessions,speakers,tracks} on error (mirrors fetch-channels).
Wired into build:all before build:hugo; teched.json gitignored (build artifact).
- srv/lib/page-key-map.js: add page-teched (teched/index.html) to IN_SCOPE_PAGES.
- approuter/xs-app.json: route /teched/ -> /content/pages/teched/ (anonymous).
- test/smoke/pages-routes.smoke.test.js: add /teched/ HTML route with marker.
The teched-sessions-grid island itself is Unit 8; until it lands the
island-src partial falls back to the bare /js path (expected).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Unit 7 of #2312 — /teched/ page
Creates the SAP TechEd 2026 Sessions top-level page. It mounts the Vue island built separately in Unit 8 (mount id
#teched-sessions-grid-mount) and is served through the pages-from-HANA pipeline.Changes
hugo/content/teched/_index.md+hugo/layouts/teched/list.html— page shell:<h1>, separate Berlin and Virtual section headings, per-venue<noscript>fallback lists, ateched-sessions-dataJSON payload for the island, and the island loaded via{{ partial "island-src.html" "teched-sessions-grid" }}(content-hashed, never a hardcoded/jspath). Uses a<div class="teched-page">wrapper rather than a nested<main>—baseof.htmlalready emits the sole<main>landmark, so nesting one would trip axelandmark-no-duplicate-main.scripts/fetch-teched.ts—fetch(${CAP_BASE}/build/teched)→hugo/data/teched.json; fails open to{sessions:[],speakers:[],tracks:[]}on error (mirrorsfetch-channels.ts). Wired as an explicitbuild:allstep beforebuild:hugo.teched.jsonadded tohugo/data/.gitignore(build artifact, likechannels.json).srv/lib/page-key-map.js— addspage-teched(teched/index.html) toIN_SCOPE_PAGES.approuter/xs-app.json— routes^/teched/?...$→/content/pages/teched/(anonymous), grouped with the other top-level page routes.test/smoke/pages-routes.smoke.test.js— adds/teched/toHTML_ROUTESwith markerSAP TechEd(self-skips withoutSMOKE_BASE_URL).Verification
npm test— green.fetch-techedagainst a running/build/techedwroteteched.json(error:null); fail-open path (no CAP) writes the empty payload.teched/index.htmlrenders exactly one<main>, the<h1>, both venue headings, the mount<div>withdata-berlin-count/data-virtual-count, per-venue<noscript>links, and the island<script>.Notes
teched-sessions-gridisland is Unit 8. Until it lands,island-src.htmlfalls back to the bare/js/teched-sessions-grid.js— expected; this PR ships only the page shell + wiring.