Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
448b5f0 to
2f8f1c2
Compare
- Flatten manifest.json from Array<Array<Item>> to Array<Item>
- Extract iOS/Android navigation into manifest.ios.json and manifest.android.json
- Remove all separator markers from manifest (no-ops at render time)
- Flatten manifest.ts types and traversal functions to single-loop
- Add readSDKManifest for validating SDK-specific manifest files
- Update build-docs.ts to process SDK manifests and output DocsNavigation format
with { default: { sections }, overrides: { ios, android } }
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The build's second pass already computes group SDKs by bubbling up from children's frontmatter. These 5 groups had sdk arrays that were either redundant (16 SDKs = all except ios/android, which use override nav) or derivable from children: - Guides (16 SDKs) — redundant with ios/android overrides - Reference (16 SDKs) — same - Component customization (16 SDKs) — same - Custom menu items (11 SDKs) — children have exact matching frontmatter - Go (1 SDK) — child has sdk: go in frontmatter Kept sdk on: 2 Getting started folders (structural, not derivable) and 2 external link items (no MDX to derive from). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Consolidate the two SDK-scoped Getting started folders into one, moving sdk from folder-level to item-level for title differentiation. Remove Demo repositories section (already linked in quickstarts). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Refactor manifest system to use flat arrays and SDK-specific manifests instead of nested groups. Removes separators and consolidates navigation structure. Updates build scripts and schema accordingly. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2f8f1c2 to
8abb702
Compare
- Fix move-doc.test.ts: use `parentPath ?? path` for Node v24 compatibility where Dirent.path was renamed to Dirent.parentPath - Fix move-doc.ts: handle nested arrays in updateNavItem for manifest updates - Sync manifest with main: add missing entries (waitlist-entries, backend types, task-setup-mfa, swiftui-previews, api-key-resource rename), replace stale MFA entries, remove nonexistent force-mfa entry Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
I like the direction of this, removing the nested arrays alone is a massive improvement. Given this is a fundamental change to the manifest, I don't think a simple flags.json flag will be sufficient to get this live. I think the best option is to have the build script downgrade the new manifest.json style to the existing manifest.json that clerk/clerk is expecting, and then also output to the Additionally, given existing prs in clerk/clerk-docs probably have manifest.json changes, it would be great to have a |
…cs-manifest # Conflicts: # docs/manifest.json
- Unwrap nested arrays to flat arrays at all levels - Remove Mobile Navigation section (handled by SDK-specific manifests) - Merge Getting started groups into single group with SDK on items - Add Integrations section to iOS and Android manifests - Remove redundant sdk fields from Component customization, Custom menu items, and Go groups (frontmatter handles filtering) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Note
This is only an experiment at this point.
https://github.com/clerk/clerk/pull/2144 is the other half of this PR.
Previews
What does this solve? What changed?
This PR refactors the documentation manifest system to use flat arrays and SDK-specific manifests instead of nested groups. It removes separators from the navigation structure and consolidates the architecture.
Key changes:
docs/manifest.jsonto use flat array structuredocs/manifest.android.jsonanddocs/manifest.ios.jsonfor platform-specific navigationdocs/manifest.schema.jsonto reflect new structurebuild-docs.ts,delete-doc.mjs,move-doc.ts,lib/manifest.ts) to work with new structureDeadline
No rush