writeonce/docs/examples/shop/layout/header.wo
shoney.arickathil 5c48f4ba77 feat(shop): 37 target = in-class raw template literals (developer form)
- separate view.html files dropped; every render() now carries its
  '-- 37 target:' literal above the hand-lowered body — the pair is
  the DX referendum in one file
- story 37 re-pointed: raw multi-line literal + {{ }} auto-escaped
  typed holes + {!! !!} raw slots; structural control stays if/for;
  w:if/w:for and .html files demoted to later; forks revised
- rebuild verified on untouched toolchain

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-24 00:15:38 +02:00

14 lines
533 B
Text

-- layout/header.wo — the header fragment (header.html's analog).
use html
-- 37 target:
-- return `
-- <header class="site-header">
-- <a href="/" class="brand">writeonce shop</a>
-- <nav class="site-nav"><a href="/">Products</a> <a href="/orders">Orders</a></nav>
-- </header>`;
pub fn header() -> Text {
let brand = link("/", "brand", "writeonce shop");
let nav = link("/", "", "Products") .. link("/orders", "", "Orders");
return el("header", "site-header", brand .. el("nav", "site-nav", nav));
}