Repository navigation
Make the docs mobile friendly #47
Description
Activity
Took your advice and asked my LLM of choice. The following is Claude's analysis, which I've reviewed and agree with. I'm working on a fix now.
Short version: it's not that the docs are badly laid out on mobile — it's that the article text is rendered completely off-screen. What you photographed is the sidebar, and only the sidebar.
Measured, not guessed
Built the site and measured
/architecture/in headless Chrome at a 390x844 iPhone viewport:element measured viewport width 390px .docs-sidebarwidth390px (fills the entire screen) .docs-contentwidth110px .docs-contentpositionx = 410 → 480 (entirely past the right edge) paragraph text width 70px document.scrollWidth612px vs 390px viewport → 222px overflow .menu-icon/.nav-triggerdisplay: noneRoot cause: two bugs that compound
1.
.docs-containernever becomes a column on mobile..docs-containerisdisplay: flex(assets/css/style.scss:188). The@media (max-width: 768px)block at line 427 sets.docs-sidebartowidth: 100%; position: static— but never setsflex-direction: columnon the container. The sidebar keepsflex-shrink: 0from line 199, so it takes the full 390px and refuses to shrink, and.docs-contentgets laid out beside it, starting at x=410.2.
.docs-content { max-width: calc(100vw - 280px) }is never overridden.Line 337. That 280px is the desktop sidebar width. Neither media query touches
max-width— the 1024 block only changesmargin-left/padding, and the 768 block only resetsmargin-left. So on a 390px phone it computes to exactly 110px, which is what the browser reports.Then
body { overflow-x: hidden }(line 23) silently clips the off-screen content with no scrollbar, so there is no way to reach it. You see a full-height grey sidebar and nothing else.Fix
@media (max-width: 768px) { .docs-container { flex-direction: column; /* add */ } .docs-content { margin-left: 0; padding: 20px; max-width: 100%; /* add */ min-width: 0; /* add - flex item overflow trap */ } }
I'd also change the base rule to
max-width: calc(100% - 280px), since100vwincludes the scrollbar gutter and is subtly wrong on desktop too.The nav is also unreachable on touch — three separate reasons
The hamburger button does not exist at any width.
_includes/header.htmlhas the complete minima pattern — a#nav-triggercheckbox and a.menu-iconlabel with an SVG. Butstyle.scss:71-77sets both todisplay: noneand no media query anywhere re-enables them. Confirmed by measurement above. Looks like the minima responsive block was removed but the markup left behind.The real nav is hover-only. The four
.nav-dropdownmenus open on:hover(line 513). Touch devices have no hover. Tapping "Documentation ▾" just navigates to/documentation/since it's a real<a href>; the submenu items are unreachable. (iOS Safari's legacy first-tap-fires-hover heuristic may half-work; Android Chrome won't.)It wraps into three rows. Visible in the screenshot below — the site title and four dropdowns can't fit 390px, so the header becomes a ragged three-line block before you reach any content.
Sidebar placement
At ≤768px the sidebar goes
position: static, andpage.htmlrenders it before the content — so once fix #1 lands, every doc page will open with 15+ nav links stacked above the article (a full screen of navigation before the first word). Plan is to reorder it below the content with flexboxorderand make the header hamburger the primary mobile nav.Smaller items, same pass
_includes/head.html:4—maximum-scale=1, user-scalable=nodisables pinch-zoom. Accessibility anti-pattern, and it removes the reader's only escape hatch while the layout is broken. Should match what Some Tweaks for Mobile #46 just landed for the examples.style.scss:24—body { zoom: 1 }is nonstandard and does nothing useful. Delete.style.scss:23—overflow-x: hiddenhides the symptom and makes overflowing content unreachable. Remove it and fix the real overflow sources.- Tables have no styling at all — no
overflow-xwrapper anywhere, so wide tables will overflow. .docs-contentneedsmin-width: 0— it's a flex item, and flex items default tomin-width: auto, so a long unbreakable line in a<pre>blows out the container despiteoverflow: autoon line 395.- No phone breakpoint. 768px is a tablet width; phones are 390-430px.
h1at2.25remand.splash-content { margin: 60px auto; padding: 0 40px }are unadjusted. - Tap targets:
.nav-dropdown-content aand.doc-btnare ~34px tall, under the 44pt HIG minimum. - Dead CSS:
.site-footer(lines 180-185, 421, 441) doesn't exist in any layout;.site-nav { float: right }does nothing since the parent isdisplay: flex.
Thanks for filing this with the video — the emulator repro made it much faster to pin down.
- added a commit that references this issue
on Aug 31, 2026
Maybe a low-priority but lots of people will click a link while browsing on their phone so if it's not too much work, consider making the docs mobile friendly.
Currently, at least in Chrome Dev Tools. When I click the mobile emu button, the docs are unusable/unreadable on mobile.
You can probably ask your LLM of choice to fix it.
Screen.Recording.2026-08-31.at.11.38.13.mp4