diff --git a/.gitignore b/.gitignore index 92016de..1d06129 100644 --- a/.gitignore +++ b/.gitignore @@ -40,3 +40,10 @@ docs/notes/ Thumbs.db desktop.ini .DS_Store + +# Generated font CSS. web/embed-font.py writes web/fonts/face.css, and its +# contents get pasted straight into the
- - ")); -if (markup.indexOf('class="rail-body"') === -1) bad("no .rail-body found: the rail no longer splits head from body"); -else if (railBody.includes('class="masthead"')) bad("the masthead is inside .rail-body, so it scrolls out of reach"); -else if (!markup.includes('class="rail-head"')) bad("no .rail-head wrapper around the masthead"); -else ok("the masthead sits outside the rail's scroll container"); +/* --- 8. the mask and theme toggles stay reachable -------------------- */ +// They act on whatever is on screen at the time, so they have to be reachable +// at any scroll position. They lived inside the rail's scroll container once, +// and reaching the mask button meant scrolling the rules back up first; the +// rail was split into a pinned head and a scrolling body to fix that. They now +// sit in the page header instead, which is unconditionally reachable -- so the +// invariant is no longer "outside .rail-body" but "outside the rail entirely". +// Keep it asserted: this is a bug that has already happened once. +const rail = markup.slice(markup.indexOf("