diff --git a/fern/docs.yml b/fern/docs.yml index 257e94a55..71736f061 100644 --- a/fern/docs.yml +++ b/fern/docs.yml @@ -638,12 +638,12 @@ redirects: - source: /learn/fern-definition/:slug* destination: /learn/api-definitions/ferndef/:slug* permanent: true - + # Redirect old others.mdx extension pages to overview pages - source: /learn/api-definitions/openapi/extensions/others destination: /learn/api-definitions/openapi/extensions/overview permanent: true - - source: /learn/api-definitions/asyncapi/extensions/others + - source: /learn/api-definitions/asyncapi/extensions/others destination: /learn/api-definitions/asyncapi/extensions/overview permanent: true - source: /learn/api-definitions/openrpc/extensions/others @@ -652,3 +652,162 @@ redirects: - source: /learn/api-definitions/grpc/extensions/:slug* destination: /learn/api-definitions/overview/overrides#definition-specific-extensions permanent: true + + # ============================================================================ + # ADDITIONAL /LEARN/* REDIRECTS FROM CRAWLED URLS FROM GOOGLE SEARCH CONSOLE + # ============================================================================ + + # SDK specific redirects + - source: /learn/sdks/generators/java/publishing-to-maven-central + destination: /learn/sdks/generators/java/publishing + permanent: true + - source: /learn/sdks/generators/php/publishing-to-packagist + destination: /learn/sdks/generators/php/publishing + permanent: true + - source: /learn/sdks/generators/python/publishing-to-py-pi + destination: /learn/sdks/generators/python/publishing + permanent: true + - source: /learn/sdks/generators/typescript/publishing-to-npm + destination: /learn/sdks/generators/typescript/publishing + permanent: true + - source: /learn/sdks/generators/java/adding-custom-code + destination: /learn/sdks/generators/java/custom-code + permanent: true + - source: /learn/sdks/reference/configuration + destination: /learn/sdks/reference/generators-yml + permanent: true + - source: /learn/sdks/client + destination: /learn/sdks/overview/introduction + permanent: true + - source: /learn/sdks/src + destination: /learn/sdks/overview/project-structure + permanent: true + - source: /learn/sdks/alternatives/speakeasy + destination: /learn/sdks/overview/introduction + permanent: true + + # Docs specific redirects + - source: /learn/docs/customization/project-structure + destination: /learn/docs/getting-started/project-structure + permanent: true + - source: /learn/docs/alternatives/mintlify + destination: /learn/docs/getting-started/overview + permanent: true + - source: /learn/docs/api-references/api-explorer/advanced-configuration + destination: /learn/docs/api-references/api-explorer/overview + permanent: true + - source: /learn/docs/enterprise/self-hosted + destination: /learn/docs/self-hosted/overview + permanent: true + - source: /learn/docs/content/visual-editor-beta + destination: /learn/docs/writing-content/fern-editor + permanent: true + - source: /learn/docs/content/visual-editor + destination: /learn/docs/writing-content/fern-editor + permanent: true + - source: /learn/docs/content + destination: /learn/docs/writing-content/markdown + permanent: true + - source: /learn/docs/config/overview + destination: /learn/docs/configuration/what-is-docs-yml + permanent: true + - source: /learn/docs/llms.txt8 + destination: /learn/docs/seo/llms-txt + permanent: true + - source: /learn/docs/path/to/asset.pdf + destination: /learn/docs/getting-started/overview + permanent: true + - source: /learn/docs/components/tabs + destination: /learn/docs/writing-content/components/tabs + permanent: true + - source: /learn/docs/components/CustomCard + destination: /learn/docs/writing-content/custom-react-components + permanent: true + + # API Definition redirects + - source: /learn/api-definition/openapi/webhooks + destination: /learn/api-definitions/openapi/endpoints/webhooks + permanent: true + - source: /learn/api-definition/introduction + destination: /learn/api-definitions/overview/what-is-an-api-definition + permanent: true + - source: /learn/api-definition/openapi/streaming-and-sse + destination: /learn/api-definitions/openapi/endpoints/streaming-and-sse + permanent: true + - source: /learn/api-definition/openapi/audiences + destination: /learn/api-definitions/openapi/audiences + permanent: true + - source: /learn/api-definition/openapi/examples + destination: /learn/api-definitions/openapi/examples + permanent: true + - source: /learn/api-definition/fern/comparison-with-open-api + destination: /learn/api-definitions/ferndef/overview + permanent: true + - source: /learn/api-definitions/openapi/openapi.yml + destination: /learn/api-definitions/openapi/overview + permanent: true + - source: /learn/api-definitions/ferndef/web-sockets + destination: /learn/api-definitions/ferndef/websockets + permanent: true + - source: /learn/api-definitions/grpc/extensions/server-name + destination: /learn/api-definitions/grpc/servers + permanent: true + - source: /learn/api-definitions/grpc/extensions/timeout + destination: /learn/api-definitions/grpc/overview + permanent: true + - source: /learn/api-definitions/asyncapi/extensions/server-name + destination: /learn/api-definitions/asyncapi/extensions/server-names + permanent: true + - source: /learn/api-definitions/openrpc/extensions/sdk-group-name + destination: /learn/api-definitions/openrpc/extensions/sdk-group-names + permanent: true + - source: /learn/api-definitions/openrpc/extensions/examples + destination: /learn/api-definitions/openrpc/examples + permanent: true + - source: /learn/api-definitions/openrpc/extensions/retry + destination: /learn/api-definitions/openrpc/extensions/retry-behavior + permanent: true + - source: /learn/overview/define-your-api/openapi/extensions + destination: /learn/api-definitions/openapi/extensions/overview + permanent: true + + # CLI & API Reference redirects + - source: /learn/cli-api/cli-reference + destination: /learn/cli-api-reference/cli-reference/overview + permanent: true + - source: /learn/cli-api/api-reference/tokens/generate + destination: /learn/cli-api-reference/api-reference/tokens/generate + permanent: true + - source: /learn/cli-api/api-reference/tokens + destination: /learn/cli-api-reference/api-reference/tokens/generate + permanent: true + - source: /learn/cli-api/api-reference/overview + destination: /learn/cli-api-reference/api-reference/overview + permanent: true + - source: /learn/api/api-reference/docs/generate + destination: /learn/cli-api-reference/api-reference/overview + permanent: true + - source: /learn/api-reference/sdk/generate/~explorer + destination: /learn/cli-api-reference/api-reference/sdk/generate + permanent: true + + # Ask Fern redirects + - source: /learn/ask-fern/features/custom-fa-qs + destination: /learn/ask-fern/features/citations + permanent: true + - source: /learn/ai-search/getting-started/ai-search-customer-showcase + destination: https://buildwithfern.com/showcase#ask-fern-customers + permanent: true + + # V2 legacy paths (old version of docs) + - source: /learn/v2/:slug* + destination: /learn/:slug* + permanent: true + + # Misc legacy learn paths + - source: /learn/snippets/example.ts + destination: /learn/cli-api-reference/api-reference/snippets/load + permanent: true + - source: /learn/cli-reference/path/to/file.pdf + destination: /learn/cli-api-reference/cli-reference/overview + permanent: true diff --git a/fern/products/api-def/openapi-pages/examples.mdx b/fern/products/api-def/openapi-pages/examples.mdx deleted file mode 100644 index e4a77240e..000000000 --- a/fern/products/api-def/openapi-pages/examples.mdx +++ /dev/null @@ -1,93 +0,0 @@ ---- -title: How to use examples in OpenAPI -description: Use the examples feature of OpenAPI to add example values in your API definition. Fern then uses your examples when generating SDKs and documentation. ---- - -Using examples in OpenAPI shows API consumers what requests and responses look like. They can be provided for request bodies, response bodies, and individual parameters. - -## Inline examples - -Examples can be placed directly within the operation definition under `paths`. Here's an example: - -```yaml -paths: - /pet: - post: - summary: Add a new pet to the store - operationId: addPet - responses: - '200': - description: A Pet object - content: - application/json: - schema: - $ref: '#/components/schemas/Pet' - examples: - PetExample: - summary: This is an example of a Pet - value: - name: Markley - id: 44 -``` - -## Reusable examples - -For more general examples that apply to multiple parts of the API, you can define them under the `components/examples` section. These can be referenced elsewhere in the documentation. - -```yaml -components: - examples: - PetExample: - summary: Example of a Pet object - value: - name: Markley - id: 44 - -paths: - /pet: - post: - summary: Add a new pet to the store - operationId: addPet - responses: - '200': - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/Pet' - examples: - PetExample: - $ref: '#/components/examples/PetExample' -``` - -## How examples are used in Fern SDKs - -Fern SDKs use examples from your OpenAPI document to generate comments that show up in your IDE. For example, in a Node.js SDK: - - -```ts - -import * as Petstore from "../../.."; - -/** - * @example - * { - * name: "Markley", - * id: "44" - * } - */ -``` - - -Here's an [example in GitHub](https://github.com/FlatFilers/flatfile-node/blob/ab955a0a337c40ea00755e24df08f8c9a146c39c/src/api/resources/documents/types/DocumentResponse.ts#L8-L27) from Flatfile's Node.js SDK. - -## How examples are used in Fern Docs - -In the request and response code snippets, you'll see the example values used. - - -![Screenshot of an example used in response code in Fern Docs API reference](https://fern-image-hosting.s3.amazonaws.com/movie+example.png) - - -If you generate SDKs with Fern, the code examples for each language will also be populated with the example values. [Check out Flatfile's Docs to see this in action](https://reference.flatfile.com/api-reference/documents/create). Change the language toggle to see the examples in different languages. - diff --git a/fern/products/ask-fern/ask-fern.yml b/fern/products/ask-fern/ask-fern.yml index 7728a0efe..a52625277 100644 --- a/fern/products/ask-fern/ask-fern.yml +++ b/fern/products/ask-fern/ask-fern.yml @@ -25,6 +25,8 @@ navigation: path: ./pages/features/insights.mdx - page: Evaluation path: ./pages/features/evals.mdx + - page: Role-based access control + path: ./pages/features/rbac.mdx - page: Slack app path: ./pages/features/slack-app.mdx - api: API reference diff --git a/fern/products/cli-api-reference/pages/get-started.mdx b/fern/products/cli-api-reference/pages/get-started.mdx deleted file mode 100644 index 012428c13..000000000 --- a/fern/products/cli-api-reference/pages/get-started.mdx +++ /dev/null @@ -1,114 +0,0 @@ ---- -title: 'Overview' -subtitle: Manage and configure your Fern projects, all from the command line. -description: 'Overview of the Fern CLI including usage, installation, and CI/CD environments' ---- - -## Prerequisites - -Before getting started with Fern CLI, ensure you have [Node.js](https://nodejs.org/) version 18 or higher installed. - -You can verify your Node.js version by running: - -```bash -node --version -``` - - -## Installing Fern CLI - - -```bash -npm install -g fern-api -``` - - - -```bash -fern -v -``` - - -## Common Workflows - - - - 1. Initialize a new docs project: - ```bash - fern init --docs - ``` - - 2. Validate your API specification and documentation: - ```bash - fern check - ``` - - 3. Preview locally while making changes: - ```bash - fern docs dev - ``` - - 4. When ready to preview or publish: - ```bash - fern generate --docs --preview # Generate a shareable preview link - fern generate --docs # Publish to production - ``` - - - - 1. Initialize a new SDK project: - ```bash - fern init - ``` - - 2. Configure your generators in [`generators.yml`](/learn/api-definition/introduction/what-is-the-fern-folder#generatorsyml) - - 3. Validate your API specification: - ```bash - fern check - ``` - - 4. Preview SDKs locally: - ```bash - fern generate --preview # Preview the default SDK group - fern generate --group python-sdk --preview # Preview a specific SDK group - ``` - - The preview SDKs will be generated into the `.preview/` folder. - - - The "default SDK group" refers to the group marked as default in your `generators.yml`. Learn more about [default groups](/learn/generate-sdks/configuration#default-group). - - - 5. Generate SDKs: - ```bash - fern generate --group python-sdk # Generate a specific SDK group - fern generate # Generate the default SDK group - ``` - - - - 1. Initialize a project from your OpenAPI spec: - ```bash - # From a local file - fern init --openapi ./path/to/openapi.yml - - # From a URL - fern init --openapi https://link.buildwithfern.com/petstore-openapi - ``` - - 2. Validate your API specification: - ```bash - fern check - ``` - - 3. Review the generated Fern Definition files in the `fern/` directory - - 4. Generate SDKs as normal: - ```bash - fern generate --preview # Preview changes locally - fern generate # Publish to production - ``` - - - \ No newline at end of file diff --git a/fern/products/cli-api-reference/pages/snippets-api-intro.mdx b/fern/products/cli-api-reference/pages/snippets-api-intro.mdx deleted file mode 100644 index 8d5128573..000000000 --- a/fern/products/cli-api-reference/pages/snippets-api-intro.mdx +++ /dev/null @@ -1,36 +0,0 @@ ---- -title: Introduction to the Snippets API -description: Use the Snippets API to automatically populate sample SDK code snippets for your documentation, from examples in your API definition. Paid feature. ---- - -With Fern's Snippets API, you can automatically populate sample SDK code snippets for your documentation, generated from examples in your API definition. For more information, see [SDK snippets](/learn/docs/api-references/sdk-snippets). - - - Note: Access to the Snippets API is available with our `Starter` plan or higher. Want to get set up? [Email us](mailto:sales@buildwithfern.com). - - -## API stability - -Some of the documented endpoints are undergoing active development. Use the and -tags to differentiate between those that are stable and those that are not. GA stands for generally available. - -## Official API clients - -Fern maintains official API clients for Node.js and Python. We recommend using these clients to interact with all stable endpoints. You can find them here: - - - - - - -## Endpoint request and response snippets - -Looking for information on generating API endpoint request and response snippets? See our documentation on [Endpoint Snippets](/learn/docs/content/components/endpoint-snippets). \ No newline at end of file diff --git a/fern/products/docs/pages/authentication/api-key-injection.mdx b/fern/products/docs/pages/authentication/api-key-injection.mdx deleted file mode 100644 index a47915e1c..000000000 --- a/fern/products/docs/pages/authentication/api-key-injection.mdx +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: API Key Injection ---- - -How to configure API key injection for authenticated documentation access. - -This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/docs/getting-started/overview). \ No newline at end of file diff --git a/fern/products/docs/pages/component-library/overview.mdx b/fern/products/docs/pages/component-library/overview.mdx deleted file mode 100644 index e10915ac8..000000000 --- a/fern/products/docs/pages/component-library/overview.mdx +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Component Library -description: Overview of the available components in the library. ---- - -Welcome to the Component Library! Here you can find documentation and examples for all the reusable components available in this project. - -This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/docs/getting-started/overview). \ No newline at end of file diff --git a/fern/products/docs/pages/getting-started/customer-showcase.mdx b/fern/products/docs/pages/getting-started/customer-showcase.mdx deleted file mode 100644 index 9975a9b35..000000000 --- a/fern/products/docs/pages/getting-started/customer-showcase.mdx +++ /dev/null @@ -1,103 +0,0 @@ ---- -title: Docs Customer Showcase ---- - - - -Fern Docs is a tool for creating beautiful, customizable developer documentation. Achieve best-in-class docs with a modern and branded look and feel, powered by MDX and your API specification, and integrated seamlessly with CI/CD. Below are some companies building with Fern to elevate their developer experience. - -
---- -##
Webflow Webflow
-Auto-populated API key - -Webflow uses Fern's API Explorer to auto-populate API keys using their custom authentication flow, making it easy for developers to authenticate once and then focus on developing. - -Check out Webflow's API Explorer here: - - - - View the Webflow API Explorer - - - ---- -##
Cohere Cohere
-
-SSE -Landing page -
- -Cohere uses Fern's out-of-the-box components to create a landing page that orients users and aids in developer experience. Their API Explorer further aids in that developer experience, allowing users to test out endpoints in their API, including server-sent events. - -Check out Cohere's documentation here: - - - View Cohere's landing page - - - View the Cohere API Reference - - - ---- -##
Cartesia Cartesia
-
-WebSockets -Custom styling -
- -Cartesia leverages Fern's custom styling capabilities to create modern and branded documentation. They pair these aesthetics with an API Explorer that supports WebSockets, allowing developers to test their Text-To-Speech streaming in real-time. - -Check out Cartesia's documentation here: - - - View Cartesia's documentation overview - - - View the Cartesia API Reference - - - ---- -##
Vellum Vellum
-SDK documentation - -Vellum takes advantage of Fern's adaptable layout and styling capabilities to create custom documentation for their UI SDK, in addition to using Fern's auto-generated API reference for their client libraries (which are generated by Fern, as well). - -Check out their references here: - - - View Vellum's SDK documentation - - - View Vellum's API reference - - - ---- -##
Internationalization Internationalization
-
-Multi-language -Translation -
- -CodeCombat uses Fern's internationalization features to serve their global developer community. They offer documentation in Mandarin Chinese, demonstrating how Fern's built-in language switching and translation features help companies reach developers worldwide while maintaining a consistent experience. - -Check out their multi-language documentation: - - - View CodeCombat's documentation - - - ---- -
- -Ready to build best-in-class documentation? [Get started with Fern today](https://buildwithfern.com/learn/docs/getting-started/quickstart). \ No newline at end of file diff --git a/fern/products/docs/pages/getting-started/migrate-from-existing-site.mdx b/fern/products/docs/pages/getting-started/migrate-from-existing-site.mdx deleted file mode 100644 index 4cfee5033..000000000 --- a/fern/products/docs/pages/getting-started/migrate-from-existing-site.mdx +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Migrate from an Existing Site ---- - -Step-by-step guide for migrating your documentation from an existing platform or static site. - -This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/docs/getting-started/overview). \ No newline at end of file diff --git a/fern/products/docs/pages/reference/frontmatter.mdx b/fern/products/docs/pages/reference/frontmatter.mdx deleted file mode 100644 index 6658a8812..000000000 --- a/fern/products/docs/pages/reference/frontmatter.mdx +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: Frontmatter Reference ---- - -Complete reference guide for frontmatter options and configuration in your documentation. - -This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/docs/getting-started/overview). \ No newline at end of file diff --git a/fern/products/docs/pages/reference/what-is-docs-yml.mdx b/fern/products/docs/pages/reference/what-is-docs-yml.mdx deleted file mode 100644 index 946224d6b..000000000 --- a/fern/products/docs/pages/reference/what-is-docs-yml.mdx +++ /dev/null @@ -1,7 +0,0 @@ ---- -title: What is docs.yml? ---- - -Understanding the docs.yml configuration file and how it controls your documentation structure. - -This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/docs/getting-started/overview). \ No newline at end of file diff --git a/fern/products/sdks/guides/configure-auth-schemes.mdx b/fern/products/sdks/guides/configure-auth-schemes.mdx deleted file mode 100644 index 567f6691a..000000000 --- a/fern/products/sdks/guides/configure-auth-schemes.mdx +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Configure Auth Schemes -description: Guide to configuring authentication schemes in your SDKs. ---- - -Learn how to configure different authentication schemes for your SDKs. - -This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/sdks/reference/configuration). diff --git a/fern/products/sdks/guides/configure-github-publishing.mdx b/fern/products/sdks/guides/configure-github-publishing.mdx deleted file mode 100644 index d71fb7288..000000000 --- a/fern/products/sdks/guides/configure-github-publishing.mdx +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Configure GitHub Publishing -description: Guide to configuring GitHub publishing for your SDKs. ---- - -Learn how to set up GitHub publishing for your SDKs to automate releases and versioning. - -This page is a WIP, please refer to our previous [documentation](https://buildwithfern.com/learn/sdks/reference/configuration). \ No newline at end of file diff --git a/fern/products/sdks/sdk-customer-showcase.mdx b/fern/products/sdks/sdk-customer-showcase.mdx deleted file mode 100644 index f451a90ff..000000000 --- a/fern/products/sdks/sdk-customer-showcase.mdx +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: SDK Customer Showcase -description: See how customers are using Fern SDKs. ---- - -Explore real-world examples and success stories from customers using Fern SDKs in their projects. - -This page is a WIP, please refer to our [customer showcase](https://www.buildwithfern.com/showcase). \ No newline at end of file