Restructure layout customization across API reference pages#3565
Restructure layout customization across API reference pages#3565devin-ai-integration[bot] wants to merge 4 commits intomainfrom
Conversation
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
|
🌿 Preview your docs: https://fern-preview-126d2a0a-9320-4677-879d-b8a815e41af9.docs.buildwithfern.com/learn Here are the markdown pages you've updated: |
| <ParamField path="availability" toc={true} type="string"> | ||
| Set the [availability status](#adding-availability) for the entire API Reference or specific sections. | ||
|
|
||
| Set the availability status for the entire API Reference. Options: `stable`, `generally-available`, `in-development`, `pre-release`, `deprecated`, `beta`. |
There was a problem hiding this comment.
📝 [vale] reported by reviewdog 🐶
[FernStyles.Hyphens] 'generally-available' doesn't need a hyphen.
| <ParamField path="availability" toc={true} type="string"> | ||
| Set the [availability status](#adding-availability) for the entire API Reference or specific sections. | ||
|
|
||
| Set the availability status for the entire API Reference. Options: `stable`, `generally-available`, `in-development`, `pre-release`, `deprecated`, `beta`. |
There was a problem hiding this comment.
📝 [vale] reported by reviewdog 🐶
[FernStyles.Adverbs] Remove 'generally' if it's not important to the meaning of the statement.
| </ParamField> | ||
|
|
||
| <ParamField path="operation" toc={true} type="string"> | ||
| Reference a GraphQL operation. Format: `OPERATION_TYPE operationName` where type is `QUERY`, `MUTATION`, or `SUBSCRIPTION`. |
There was a problem hiding this comment.
📝 [vale] reported by reviewdog 🐶
[FernStyles.Acronyms] 'QUERY' has no definition.
| </ParamField> | ||
|
|
||
| <ParamField path="href" toc={true} type="string"> | ||
| URL for the link. |
There was a problem hiding this comment.
📝 [vale] reported by reviewdog 🐶
[Microsoft.URLFormat] Use 'of' (not 'for') to describe the relationship of the word URL to a resource.
Restructure layout customization across API reference pages
Summary
Adds consistent "Customize the layout" sections to all "Generate X reference" pages and restructures the standalone Customize API Reference layout page into a concise property reference — eliminating content overlap between pages.
Pages changed (6 files):
generate-api-ref.mdx): Expanded layout section with rename sections, section overview, pages & links, and additional options (alphabetize, flatten, paginate, display-errors, availability)generate-webhook-ref.mdx): Same expansions (minus rename sections, minus display-errors)generate-openrpc-ref.mdx): Same expansions (minus rename sections, minus display-errors)generate-websocket-ref.mdx): Same expansions (minus rename sections, minus display-errors)generate-graphql-ref.mdx): Added section overview, pages & links, and additional options (minus display-errors)customize-api-ref.mdx): Refactored from a detailed how-to guide into a property reference with four sections: API-level properties, Endpoint properties, Section properties, Page & link propertiesEach generate-x page now carries the bulk of its type-specific layout customization docs, while the customize page serves as a centralized reference for all
docs.ymlconfiguration properties.Updates since last revision
summary), pages & links, rename sections (referenced-packages, REST only), and a compact "Additional options" listApiReferenceConfigurationtype,ApiReferenceNodeConverter, and rendering components. Removeddisplay-errorsfrom Webhook, WebSocket, OpenRPC, and GraphQL pages becauseshowErrorsis only consumed byEndpointContentLeft.tsx(REST endpoint rendering).tag-description-pagesis confirmed OpenAPI-only (checksthis.openApiTags), so it's only mentioned on the REST page.Review & Testing Checklist for Human
display-errorsscoping is correct: Source analysis foundshowErrorsonly used in REST endpoint rendering (EndpointContentLeft.tsx), so it was removed from non-REST pages. Confirm this is accurate — it's possible there are other code paths not found in the search.availabilityin layout: The old customize page had a<Warning>stating availability can't be set on individual endpoints indocs.yml. The generate-x pages showavailabilityon endpoints/operations in layout examples. The Warning was removed — confirm which behavior is correct.paginatedworks for all API types: Listed on all pages, but rendering behavior may differ across types. Confirm it has a visible effect for WebSocket, Webhook, OpenRPC, and GraphQL references.Recommended test plan: Navigate to each preview link and verify the "Customize the layout" section renders correctly with all subsections. Then visit the customize page and confirm the property reference is complete and cross-links work. Pay special attention to whether the "Additional options" listed on each page are accurate for that API type.
Notes
display-errorsonly on REST page;tag-description-pagesonly mentioned on REST page;referenced-packages/ "Rename sections" only on REST pageRequested by: Fern Support
Link to Devin run