⚠ This page is served via a proxy. Original site: https://github.com
This service does not collect credentials or authentication data.
Skip to content

Conversation

@devin-ai-integration
Copy link
Contributor

@devin-ai-integration devin-ai-integration bot commented Feb 10, 2026

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):

  • REST API (generate-api-ref.mdx): Expanded layout section with rename sections, section overview, pages & links, and additional options (alphabetize, flatten, paginate, display-errors, availability)
  • Webhook (generate-webhook-ref.mdx): Same expansions (minus rename sections, minus display-errors)
  • OpenRPC (generate-openrpc-ref.mdx): Same expansions (minus rename sections, minus display-errors)
  • WebSocket (generate-websocket-ref.mdx): Same expansions (minus rename sections, minus display-errors)
  • GraphQL (generate-graphql-ref.mdx): Added section overview, pages & links, and additional options (minus display-errors)
  • Customize API Reference layout (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 properties

Each 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.yml configuration properties.

Updates since last revision

  1. Moved detailed content into each generate-x page — section overview (summary), pages & links, rename sections (referenced-packages, REST only), and a compact "Additional options" list
  2. Refactored customize-api-ref.mdx — stripped all how-to sections and replaced with organized ParamField reference covering layout sub-properties (endpoint, section, page/link) that weren't previously documented
  3. Expanded GraphQL page — added the same additional subsections for consistency
  4. Verified options against Fern source code — checked ApiReferenceConfiguration type, ApiReferenceNodeConverter, and rendering components. Removed display-errors from Webhook, WebSocket, OpenRPC, and GraphQL pages because showErrors is only consumed by EndpointContentLeft.tsx (REST endpoint rendering). tag-description-pages is confirmed OpenAPI-only (checks this.openApiTags), so it's only mentioned on the REST page.

Review & Testing Checklist for Human

  • Verify no important content was lost from customize-api-ref.mdx: The page went from 458 lines (with images, tabs, accordions) to ~163 lines of property reference. Images (ordered.png, flattened.png, custom-section.png, summary.png, error screenshots) and the AccordionGroup for section overviews were dropped entirely. Confirm nothing critical is missing.
  • Verify display-errors scoping is correct: Source analysis found showErrors only 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.
  • Verify endpoint-level availability in layout: The old customize page had a <Warning> stating availability can't be set on individual endpoints in docs.yml. The generate-x pages show availability on endpoints/operations in layout examples. The Warning was removed — confirm which behavior is correct.
  • Verify paginated works 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.
  • Preview all six pages to verify rendering, formatting, and that anchor links from the customize page resolve correctly.

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

  • Vale linting passed with 0 errors
  • display-errors only on REST page; tag-description-pages only mentioned on REST page; referenced-packages / "Rename sections" only on REST page
  • All examples use plant-themed content per style guidelines

Requested by: Fern Support
Link to Devin run

@devin-ai-integration
Copy link
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

<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`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [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`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [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`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] reported by reviewdog 🐶
[FernStyles.Acronyms] 'QUERY' has no definition.

</ParamField>

<ParamField path="href" toc={true} type="string">
URL for the link.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📝 [vale] reported by reviewdog 🐶
[Microsoft.URLFormat] Use 'of' (not 'for') to describe the relationship of the word URL to a resource.

@devin-ai-integration devin-ai-integration bot changed the title Add 'Customize the layout' section to Generate API reference pages Restructure layout customization across API reference pages Feb 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant