Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 9 additions & 7 deletions .vale/styles/FernStyles/Acronyms.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,12 @@ exceptions:
- API
- ASP
- CLI
- CNAME # Fern-specific
- CNAME
- CPU
- CSS
- CSV
- DEBUG
- DNS # Fern-specific
- DNS
- DOM
- DPI
- FAQ
Expand Down Expand Up @@ -56,7 +56,7 @@ exceptions:
- TBD
- TCP
- TODO
- TXT # Fern-specific
- TXT
- URI
- URL
- USB
Expand All @@ -65,7 +65,9 @@ exceptions:
- XSS
- YAML
- ZIP
- MDX # Fern-specific
- SEO # Fern-specific
- AWS # Fern-specific
- LLM # Fern-specific
- MDX
- SEO
- AWS
- OpenRPC
- gRPC
- RPC
9 changes: 8 additions & 1 deletion .vale/styles/FernStyles/Headings.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,4 +32,11 @@ exceptions:
- GitHub
- README
- Action
- Actions
- Actions
- WebSocket
- WebSocket Playground
- OpenRPC
- gRPC
- RPC
- SDK
- SDKs
4 changes: 2 additions & 2 deletions fern/products/docs/pages/api-references/api-explorer.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ subtitle: Reduce "time to 200" by allowing users to make real calls to your API

Fern's API Explorer allows users to make authenticated requests to your API without ever leaving your documentation.

### Auto-populate with examples
### Autopopulate with examples
Fern will automatically populate the fields of the endpoint with the values set in your API specification.

<div style="position: relative; padding-bottom: 50.63657407407407%; height: 0;"><iframe src="https://www.loom.com/embed/a48d921459b54dde9652c3fcc85ebc54?sid=2c0b4f4d-7e24-4fc5-a617-8d933195bfec?hide_owner=true&hide_share=true&hide_title=true&hideEmbedTopBar=true" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;"></iframe></div>
Expand All @@ -28,4 +28,4 @@ Allow users to test their calls in a sandbox environment or select the environme

For APIs that support WebSocket connections, the API Explorer includes a **WebSocket**-specific Playground. The WebSocket Playground also allows users to establish a connection with the API, and send/receive messages in real-time.

<div style="position: relative; padding-bottom: 56.2%; height: 0;"><iframe src="https://www.loom.com/embed/be4da30404794e9983c4fe639f78d4c8?sid=73b7aeda-98fa-4531-87ed-1e5909500fe2?hide_owner=true&hide_share=true&hide_title=true&hideEmbedTopBar=true" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;"></iframe></div>
<div style="position: relative; padding-bottom: 56.2%; height: 0;"><iframe src="https://www.loom.com/embed/be4da30404794e9983c4fe639f78d4c8?sid=73b7aeda-98fa-4531-87ed-1e5909500fe2?hide_owner=true&hide_share=true&hide_title=true&hideEmbedTopBar=true" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;"></iframe></div>
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ The JWT should have a structure similar to:

#### Setting up auto-populated API keys

- [ ] Reach out to Fern to get your secret key
- [ ] Reach out to Fern to get your secret key
- [ ] Send Fern the URL of your authentication page. This is where users will be redirected to after clicking the "Login" button in the API Explorer.
- [ ] Add logic to your service to set the `fern_token` cookie when a user logs in

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Fern enables you to generate professional, interactive API reference documentati
<img src="./alchemy-openrpc.png" alt="Alchemy's OpenRPC API Reference Example" />
</Frame>

## How to Add an OpenRPC Endpoint
## How to add an OpenRPC endpoint

1. Add your OpenRPC specification file (e.g., `openrpc.yaml`) to your `/fern` directory.
2. Configure your `generators.yml` to point to your OpenRPC spec:
Expand All @@ -22,18 +22,18 @@ Fern enables you to generate professional, interactive API reference documentati
```
</CodeBlock>

### Configuration Properties
### Configuration properties

<ParamField path="api.specs[].openrpc" required>
Path to your OpenRPC specification file. You can include multiple OpenRPC specs if your project exposes more than one JSON-RPC API.
</ParamField>

## Common Use Cases
## Common use cases

JSON-RPC APIs are widely used for:
- **Blockchain & Crypto**: Node RPC endpoints, wallet APIs
- **FinTech**: Trading platforms, market data feeds
- **Developer Tools**: Language servers, debuggers, automation
- **Distributed Systems**: Remote procedure calls between services

Leverage Fern and OpenRPC to deliver world-class developer experiences for your JSON-RPC APIs.
Leverage Fern and OpenRPC to deliver world-class developer experiences for your JSON-RPC APIs.
10 changes: 5 additions & 5 deletions fern/products/docs/pages/api-references/http-snippets.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,15 @@ settings:
```
</CodeBlock>

## How It Works
## How it works

### Request Examples
### Request examples

To generate HTTP snippets, add request examples to your API definition:
- For Fern Definition: Follow the [examples documentation](/learn/api-definition/fern/examples)
- For OpenAPI: Follow the [request/response examples documentation](/learn/api-definition/openapi/extensions/others#request--response-examples)

### Set Default Snippet Language
### Set default snippet language

HTTP snippets support several languages. Our development work is driven by customer requests, so please request support for languages not listed here by [opening an issue](https://github.com/fern-api/fern/issues/new/choose).

Expand All @@ -66,7 +66,7 @@ navigation:
```
</CodeBlock>

### Generated Features
### Generated features

HTTP snippets automatically include:
- Authentication headers with placeholders (e.g., `<apiKey>`)
Expand All @@ -75,7 +75,7 @@ HTTP snippets automatically include:
- Error handling patterns
- SSL/TLS configuration where applicable

### Display Behavior
### Display behavior

- If your API has SDK snippets, those will be shown by default
- If no SDK snippets exist, HTTP snippets will display automatically
Expand Down
2 changes: 1 addition & 1 deletion fern/products/docs/pages/api-references/sdk-snippets.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ description: Enable SDK code examples in TypeScript, Python, Go, and more from t
![SDK code snippet selector](https://fern-image-hosting.s3.amazonaws.com/sdk-code-snippets.png)
</Frame>

## Configuring SDK Snippets
## Configuring SDK snippets

To configure SDK snippets, you'll need to name your SDKs in `generators.yml` and then reference that name in `docs.yml`.

Expand Down
4 changes: 2 additions & 2 deletions fern/products/docs/pages/api-references/server-urls.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ You can configure multiple server URLs in your API definition using either Fern
- [Configure servers in OpenAPI](/learn/api-definition/openapi/extensions/others#server-names)
- [Configure environments in Fern Definition](/learn/api-definition/fern/api-yml/environments)

## User Interface
## User interface

When multiple servers are configured, users will see a dropdown menu in the API Reference that allows them to switch between environments:

Expand Down Expand Up @@ -45,7 +45,7 @@ Here's an example of the [Flagright docs site](https://docs.flagright.com/framl-
</Tab>
</Tabs>

## Environment Persistence
## Environment persistence

When you select an environment, it's reflected across the entire API Reference - both in the displayed URLs and in the [API Explorer](/learn/docs/api-references/api-explorer). This selection persists as you navigate between different pages.

Expand Down
4 changes: 2 additions & 2 deletions fern/products/docs/pages/customization/search.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ If you are using the AI Search feature, the search box also functions as your si

If you need to integrate Fern's documentation search into your own application or dashboard, you can request Algolia credentials directly from the Fern team. These credentials will allow you to query the same search index that powers your documentation site's search functionality.

### Making Search Requests
### Making search requests

Once you have your credentials, you can make requests to Algolia's API to search your documentation.

Expand All @@ -42,4 +42,4 @@ Contact the Fern team to get your specific application ID and index name. Creden

## Using an alternative search

You can override Fern's search with your own solution using [custom JavaScript](/learn/docs/building-and-customizing-your-docs/custom-css-global-js#custom-javascript) and your Algolia credentials.
You can override Fern's search with your own solution using [custom JavaScript](/learn/docs/building-and-customizing-your-docs/custom-css-global-js#custom-javascript) and your Algolia credentials.
4 changes: 2 additions & 2 deletions fern/products/docs/pages/getting-started/overview.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ subtitle: A website builder for beautiful agent and developer-friendly docs.
<img class="mx-auto hidden dark:block" alt="API Specs" src="./images/api-specs-dark.png" />
<div class="w-full space-y-1 overflow-hidden">
<div class="text-(color:--grayscale-a12) text-body text-base font-semibold card-title">
Bring your own API Spec
Bring your own API spec
<img src="./images/arrow-right-black.svg" alt="Arrow right light" className="arrow-right dark:hidden m-0" noZoom />
<img src="./images/arrow-right-white.svg" alt="Arrow right light" className="arrow-right hidden dark:block m-0" noZoom />
</div>
Expand Down Expand Up @@ -144,7 +144,7 @@ subtitle: A website builder for beautiful agent and developer-friendly docs.
<img class="mx-auto hidden dark:block" alt="Fern's MCP Server" src="./images/mcp-server-dark.png" />
<div class="w-full space-y-1 overflow-hidden">
<div class="text-(color:--grayscale-a12) text-body text-base font-semibold card-title">
Fern's MCP Server
Fern's MCP server
<img src="./images/arrow-right-black.svg" alt="Arrow right light" className="arrow-right dark:hidden m-0" noZoom />
<img src="./images/arrow-right-white.svg" alt="Arrow right light" className="arrow-right hidden dark:block m-0" noZoom />
</div>
Expand Down
4 changes: 2 additions & 2 deletions fern/products/docs/pages/integrations/analytics/google.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Fern supports integrating with both [Google Analytics 4](https://developers.goog

Before you begin, ensure you have a Google Analytics 4 property ID. This ID is typically in the format `G-XXXXXXXXXX`.

### Integration Steps
### Integration steps

1. Open your `docs.yml` file.
2. Add your Google Analytics 4 property ID under the `measurement-id` key.
Expand Down Expand Up @@ -44,7 +44,7 @@ analytics:
To use Google Tag Manager, obtain a container ID from your Google Tag Manager account. This ID follows the format `GTM-XXXXXX`.

### Integration Steps
### Integration steps

1. Open your `docs.yml` file.
2. Add your Google Tag Manager container ID under the container-id key.
Expand Down
16 changes: 8 additions & 8 deletions fern/products/docs/pages/integrations/feature-flags.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

Fern supports conditional rendering of documentation content using feature flags, powered by [LaunchDarkly](https://app.launchdarkly.com/signup) integration. Control visibility of documentation sections based on feature flag states for different release stages or user segments.

## Use Cases
## Use cases

Feature flags in documentation are particularly useful for:

Expand Down Expand Up @@ -44,7 +44,7 @@

To read more about `fallbackValue` and `match`, see the [LaunchDarkly documentation](https://launchdarkly.com/docs/guides/flags/testing-code#fallback-values).

## Using Feature Flags in MDX
## Using feature flags in MDX

Use the `<Feature>` component to conditionally render content:

Expand All @@ -63,7 +63,7 @@
</Feature>
```

### Component Properties
### Component properties

<ParamField path="flag" type="string" required={true}>
Name of the feature flag to check against
Expand All @@ -77,7 +77,7 @@
Default value if the feature flag is not defined
</ParamField>

## Example: Complete Configuration
## Example: complete configuration

Check failure on line 80 in fern/products/docs/pages/integrations/feature-flags.mdx

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [Microsoft.HeadingColons] Capitalize ': c'. Raw Output: {"message": "[Microsoft.HeadingColons] Capitalize ': c'.", "location": {"path": "fern/products/docs/pages/integrations/feature-flags.mdx", "range": {"start": {"line": 80, "column": 11}}}, "severity": "ERROR"}

Check warning on line 80 in fern/products/docs/pages/integrations/feature-flags.mdx

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [FernStyles.Headings] 'Example: complete configuration' should use sentence-style capitalization. Raw Output: {"message": "[FernStyles.Headings] 'Example: complete configuration' should use sentence-style capitalization.", "location": {"path": "fern/products/docs/pages/integrations/feature-flags.mdx", "range": {"start": {"line": 80, "column": 4}}}, "severity": "INFO"}

```yaml
# docs.yml
Expand All @@ -101,18 +101,18 @@
fallbackValue: standard
```

## Real-time Evaluation
## Real-time evaluation

Feature flags are client-side only. The information is only visually hidden when the feature flag is evaluated as false.

If you toggle a feature flag on in the LaunchDarkly dashboard, the content will be shown immediately.

Conversely, if you toggle a feature flag off in the LaunchDarkly dashboard, the content will be hidden immediately.

## Server-side Evaluation
## Server-side evaluation

Feature flags are client-side only. Want to request server-side evaluation? [Let us know](https://github.com/fern-api/fern/issues) by filing a feature request.

## Additional Feature Flag Providers
## Additional feature flag providers

Want to request a new feature flag provider? [Let us know](https://github.com/fern-api/fern/issues) by filing a feature request.
Want to request a new feature flag provider? [Let us know](https://github.com/fern-api/fern/issues) by filing a feature request.

Check warning on line 118 in fern/products/docs/pages/integrations/feature-flags.mdx

View workflow job for this annotation

GitHub Actions / vale

[vale] reported by reviewdog 🐶 [FernStyles.We] Try to avoid using first-person plural like 'us'. Raw Output: {"message": "[FernStyles.We] Try to avoid using first-person plural like 'us'.", "location": {"path": "fern/products/docs/pages/integrations/feature-flags.mdx", "range": {"start": {"line": 118, "column": 51}}}, "severity": "INFO"}
Loading