Skip to content

Make Generate [x] Reference pages consistent and consolidate layout docs#3656

Open
devin-ai-integration[bot] wants to merge 8 commits intomainfrom
fern/consistent-generate-ref-pages
Open

Make Generate [x] Reference pages consistent and consolidate layout docs#3656
devin-ai-integration[bot] wants to merge 8 commits intomainfrom
fern/consistent-generate-ref-pages

Conversation

@devin-ai-integration
Copy link
Contributor

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

Make Generate [x] Reference pages consistent and consolidate layout docs

Summary

Restructures all five "Generate [x] Reference" pages to follow a consistent pattern and consolidates GraphQL layout customization into the Customize API Reference layout page.

Each Generate page now follows this structure:

  1. Brief intro paragraph
  2. Configuration section using <Steps> with three steps: "Set up your project structure", "Add the [X] Reference to your navigation", and "Customize the layout" (linking to the Customize page)
  3. Include more than one [X] Reference section with <Files> directory tree and docs.yml snippet
  4. Optional spec-specific subsections (e.g., configuration properties, individual event references) kept brief

Key changes per page:

  • Webhook: Replaced verbose directory structure diagrams and large code samples with concise Steps pattern. Added <Files> tree for multi-webhook setup. Fixed broken relative links to use absolute /learn/ paths.
  • WebSocket: Replaced numbered list + inline <CodeBlock> + layout example with Steps pattern. Added new "Include more than one WebSocket Reference" section with <Files> tree.
  • OpenRPC: Replaced numbered list + <CodeBlock> with Steps pattern. Added missing link to Customize page. Added new "Include more than one OpenRPC Reference" section with <Files> tree.
  • GraphQL: Replaced numbered list + <CodeBlock> with Steps pattern. Added <Files> tree for multi-GraphQL setup. Moved all layout customization content (operation syntax, namespacing, grouping, styling, hiding, sections) to the Customize page.
  • REST API: Fixed broken link to webhook page (generate-webhook-referencegenerate-webhook-ref). Converted directory tree to <Files> component. Added "Customize the layout" step.
  • Customize API Reference layout: Added GraphQL tabs throughout — ordering section contents (with namespace disambiguation), styling endpoints, hiding endpoints, adding custom sections, and adding availability. Updated availability Warning to note GraphQL exception for per-operation availability in docs.yml. Removed a duplicate WebSocket tab from "Ordering section contents".

Review & Testing Checklist for Human

  • Verify GraphQL per-operation availability claim — the updated <Warning> in the availability section states that GraphQL operations can set availability per-operation in docs.yml, unlike REST/Fern Definition endpoints. Confirm this is actually how Fern behaves.
  • Verify all new GraphQL tab examples are accurate — GraphQL tabs were added to ordering, styling, hiding, custom sections, and availability. Confirm the YAML syntax (operation: QUERY ..., operation: MUTATION ..., operation: SUBSCRIPTION ...) matches actual Fern behavior for each context.
  • Check for broken anchor links — the GraphQL page's #customize-the-layout and #graphql-specific-layout-options anchors were removed. Search for any pages or external sites that still link to these.
  • Verify multi-API setup accuracy for WebSocket and OpenRPC — these pages gained new "Include more than one [X] Reference" sections. Confirm api-name works the same way for AsyncAPI/OpenRPC specs as it does for REST/Webhook/GraphQL.
  • Visually verify rendered pages — use the preview deployment to confirm <Steps> components and <Files> trees render properly on each page, and that the new GraphQL tabs in the Customize page display correctly.

Notes

  • Requested by: Fern Support
  • Link to Devin run
  • Vale CI warnings about 'QUERY' acronym are expected in code blocks and can be ignored

@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


### Include more than one webhook reference
To include multiple webhook definitions in your documentation, use the `api-name` property:
### Include more than one Webhook Reference
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.Headings] 'Include more than one Webhook Reference' should use sentence-style capitalization.

You can reference an operation using the format `operation: OPERATION_TYPE operationName`. See [GraphQL layout customization](/learn/docs/api-references/generate-graphql-ref#customize-the-layout) for more details.
Reference individual GraphQL operations using the `operation` keyword with the format `OPERATION_TYPE operationName`, where `OPERATION_TYPE` is `QUERY`, `MUTATION`, or `SUBSCRIPTION`. You can also set a custom `title`, `slug`, or `availability` on each operation.

If your schema includes operations that share the same name across different namespaces, use dot notation to disambiguate (e.g., `QUERY admin.getPlant`).
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.

- api: API Reference
layout:
- user:
- operation: QUERY getUser
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.

- GET /plants
- WSS /plants/live-updates
- WSS /plants/growth-monitor
- operation: QUERY admin.getPlant
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.

- WSS /plants/live-updates
- WSS /plants/growth-monitor
- operation: QUERY admin.getPlant
- operation: QUERY public.getPlant
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.

layout:
- section: Plants
contents:
- operation: QUERY getPlant
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.

@devin-ai-integration devin-ai-integration bot changed the title Make Generate [x] Reference pages consistent with Steps pattern Make Generate [x] Reference pages consistent and consolidate layout docs Feb 18, 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

Comments