Repository navigation
Docs: tables that read on a phone, and settings as definition lists - #226
Merged
Merged
Conversation
Tables render through components/table.tsx: one rounded box that scrolls sideways only when it must (with a fade on the side that has more), a quiet header, a hairline between rows and no column lines. Columns are sized from their content: short keys and identifiers stay on one line, long text gets a minimum width so it never squeezes to a word a line, and code in text cells breaks at its separators, never mid-word. Lists whose items open with a bold term and a line break are styled as parameter lists. The plugin manifest reference, the skills frontmatter fields and the API error fields use them instead of tables; the self-host guides follow in the platform repo. A new e2e suite checks the table pages at 1440 and 390 px in both themes.
This was referenced Oct 26, 2026
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.
Summary
Tables across the docs squeezed into one word per line, wrapped identifiers mid-word, or pushed phones sideways. This restyles every table and turns the ones that are really lists (settings, fields, checks with their fixes) into definition lists. It follows #222, which fixed the import comment. Paired with CoderHelm/coderhelm-platform#311, which converts the self-host guides' list-shaped tables.
What the best docs sites do (Stripe, Vercel, Supabase, Tailwind, Linear, GitHub Docs, Cloudflare, Fly, Railway; checked from their shipped HTML and CSS):
Changes
components/table.tsx(new). Every Markdown table renders through it:role=region, so a keyboard can scroll it)./ - _ :and before., so it wraps at a separator and never mid-word. Key columns get none, because Chrome breaks at<wbr>even undernowrap.app/global.css:box-decoration-break: clone. A background fade marks the edge that has more to scroll.scripts/lib/manifest-reference.mjs: the plugin manifest reference renders fields as definition lists (name, then the type, "required" and the default, then the description) instead of 13 five-column tables. MDX escaping now leaves inline code alone, so patterns such as^[a-z0-9_-]{1,40}$no longer show stray backslashes.concepts/skills.mdx(frontmatter fields) andapi/errors.mdx(error body fields): converted to the same definition lists.e2e/tables.spec.ts(new) runs 13 table-heavy pages at 1440 and 390px, in light and dark. On each page:e2e/site.spec.ts: the manifest test looks for the field names in the new lists instead of in table cells.Every table, and what happened to it
Converted to definition lists:
concepts/skills: the Field, Type, Default, Notes table.api/errors: the Field, Type, Description table.Kept as tables, restyled. These are true comparisons or short lookup tables:
code, Meaning, Retry?).Two-column tables are already definition-shaped and fit a phone, so they stay tables. The self-host pages for email, sign-in, model providers and security keep their tables; only their styling changes, because other branches are editing those pages.
Platform lock
Pinned at
22548c6e2333for now. Everything here also works with the current lock: the guides' remaining tables pick up the new table styling. Once CoderHelm/coderhelm-platform#311 merges,npm run platform:bumpimports the definition lists. With that bump, add options, config-reference, backups and troubleshooting back to the definition-list e2e test (there is a note at the spot).Verification
npm run test:unit: 75 pass.typecheck: OK.check:output(88 pages, with the raw-syntax check from Docs: imported pages no longer print their import comment; build fails on raw syntax #222) andcheck:links(4163 links, none broken) both pass.playwright test: 129 pass. This includes the new table suite and the existing 390px no-sideways-scroll tests. The run was against both the pinned lock and the platform PR's commit (PLATFORM_DIR).<wbr>.