Skip to content

feat(docs): implement DX-027, DX-030, DX-033, and DX-037 - #636

Merged
IbrahimIjai merged 3 commits into
SO4-Markets:mainfrom
0takuc0mrade:feat/docs-foundations-dx-027-030-033-037
Aug 30, 2026
Merged

feat(docs): implement DX-027, DX-030, DX-033, and DX-037#636
IbrahimIjai merged 3 commits into
SO4-Markets:mainfrom
0takuc0mrade:feat/docs-foundations-dx-027-030-033-037

Conversation

@0takuc0mrade

Copy link
Copy Markdown
Contributor

Summary

  • wire apps/docs to the shared @workspace/ui Tailwind v4 theme and self-hosted font assets
  • add the responsive three-column DocsLayout shell with mobile navigation, TOC disclosure, independent rails, landmarks, and skip-link behavior
  • derive breadcrumbs, JSON-LD, and previous/next pagination from one ordered navigation tree
  • add synchronized, persistent MDX Tabs, Tab, and CodeGroup components with retained printable/searchable panels
  • repair the docs navigation metadata so every existing content page participates in the same ordering

Closes #539
Closes #542
Closes #545
Closes #549

Verification

  • bun run --cwd apps/docs typecheck
  • 16 focused docs tests: 16 passed, 0 failed
  • bun run --cwd apps/docs build (24 routes, Pagefind index, Nitro output)
  • bun run check:tokens (330 files, 0 violations)
  • bun run changelog:validate
  • confirmed built fonts are local .woff/.woff2 assets with no remote font request

Repository gate note

The complete repository gate is currently red on pre-existing upstream main defects outside this PR. bun lint initially found a malformed merged ChangelogPage.tsx; after diagnosing it, that unrelated repair was removed from this branch. bun typecheck still reports unrelated errors across changelog components, gallery, navbar, route accessibility tests, and MSW handlers. The existing Nitro server test also exits before binding its test port. Per explicit maintainer authorization, this focused docs PR is being published with those upstream failures documented rather than expanding scope into a broad web repair.

Implement DX-027, DX-030, DX-033, and DX-037 together so the docs app consumes the shared design system, provides responsive reading chrome and ordered navigation, and supports persistent MDX tab groups.\n\nVerified with docs typecheck, 16 focused tests, production build, Pagefind generation, content checks, token enforcement, and changelog validation. The full repository gate remains red on unrelated malformed upstream changelog and web files; publishing is explicitly authorized despite those upstream failures.
@vercel

vercel Bot commented Aug 28, 2026

Copy link
Copy Markdown

@0takuc0mrade is attempting to deploy a commit to the Ijai's projects Team on Vercel.

A member of the Team first needs to authorize it.

@drips-wave

drips-wave Bot commented Aug 30, 2026

Copy link
Copy Markdown

@0takuc0mrade Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@IbrahimIjai
IbrahimIjai merged commit 82c055c into SO4-Markets:main Aug 30, 2026
1 of 4 checks passed
IbrahimIjai pushed a commit that referenced this pull request Aug 30, 2026
Reference pages — particularly /resources/terms and /concepts/risk — get
printed and saved as PDFs. Without print rules the output is a navigation
header followed by whatever the active theme happens to be.

- apps/docs/src/styles/print.css (new): @media print rules that hide the
  page chrome (static header, DocsLayout sidebar/TOC/header/footer slots,
  search dialog, mobile TOC, heading anchors), force the light palette by
  re-declaring the dark-theme token overrides, expand the content column,
  open every collapsible and tab panel, print destination URLs after
  internal links, keep code blocks/callouts/table rows unsplit, and show a
  print-only footer with the page URL and last-updated date.
- the rules live in a docs-print cascade layer declared before Tailwind's
  layers, so their !important rules beat the base preflight
  [hidden]{display:none!important} that guards inactive tab panels.
- the static generator emits the print footer (canonical URL from seo.ts
  DEFAULT_SITE_URL + frontmatter updated date) — no client JS needed.
- the content-map Tabs now keep every panel mounted (inactive ones hidden)
  so print/search can reach them, matching the primitives Tabs convention.
- DocsLayout marks its chrome regions with data-slot hooks the print sheet
  targets.

Also repairs pre-existing docs-gate defects on main that blocked building
and verifying this change:
- scripts/build.ts: drop the orphaned inline-styled page template left by
  the #636 merge and restore the vite stylesheet pipeline it clobbered.
- scripts/check-content.ts: the glossary check read entry.answer, a field
  headingEntries() no longer returns (crash); read each entry's own section.
  The home page is reachable by definition, so it is exempt from the
  orphan-page check.
- scripts/generate-faq.ts: same stale entry.answer usage (crash); derive
  each entry's answer from its FAQ section body.
- mdx/components.tsx: remove the imported Tabs that conflicted with the
  local Tabs declaration (TS2440).

Closes #575
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants