# Fern Docs > A website builder for beautiful agent and developer-friendly docs.
Build a docs site quickly by importing your existing syling and specs.
Set up a documentation site in under 5 minutes.
Use one simple file to generate documentation that fits your brand.
Build your own components, enable Ask Fern, generate API references, and easily update your docs.
Use pre-built or custom React components for a polished look.
Modify your documentation without touching code and publish to your GitHub.
Use OpenAPI, AsyncAPI, gRPC, OpenRPC, and the Fern spec.
A personalized chatbot that can answer questions about your documentation.
Deploy on your own infrastructure to meet security or compliance requirements.
Add Fern's MCP server to your AI workflows.
${{ product.price }}
{{ product.description }}
{% if product.in_stock %}Status: In Stock
{% else %}Status: Out of Stock
{% endif %}No products are available at the moment.
{% endif %} ``` # May 22, 2024 ## Advanced Redirects Implemented a powerful redirects system supporting pattern matching and parameter preservation. Teams can now manage documentation URL structure while maintaining backwards compatibility. ```yaml redirects: - source: /v1/api/* destination: /v2/api/:splat permanent: true - source: /guides/:name destination: /tutorials/:name ``` ## API Authorization Handling Enhanced API authorization handling in the documentation platform. Developers can now test authenticated endpoints more easily with improved token management. # April 20, 2024 ## Sidebar Navigation Enhancement Improved sidebar padding and visual hierarchy with refined spacing and typography. The documentation navigation now provides clearer visual structure and better readability. ## Base Path Configuration Added flexible base path configuration for documentation routing. Organizations can now host documentation under custom paths while maintaining proper navigation. ```yaml docs.yml instances: - url: your-site.docs.buildwithfern.com custom-domain: your-site.com/docs ``` # March 24, 2024 # March 2024 ## Virtualized Syntax Highlighting Implemented performance-optimized code rendering that handles large code blocks efficiently without impacting page performance. Long code samples now load instantly and scroll smoothly. ## Mobile Search Experience Redesigned the mobile search interface with a sticky search bar and improved results display. Users can now easily search documentation on mobile devices with a native-feeling interface. ## Scrollbar Refinement Enhanced scrollbar design and behavior across all documentation sections for a more polished look and feel. Scrollbars now adapt to both light and dark themes while maintaining usability. # February 22, 2024 ## WebSocket Support in API Playground Added real-time WebSocket testing capabilities to the API playground, enabling developers to test streaming and real-time endpoints directly in the documentation. WebSocket connections can now be established, tested, and debugged without leaving the docs. ## Enhanced Code Highlighting Implemented a new code highlighting system using Shiki for improved syntax highlighting accuracy and performance. The system now supports more languages and provides better dark mode compatibility. ## Feedback System Introduced a new feedback collection system using Radix UI components for improved accessibility. Users can now provide structured feedback about documentation quality and usefulness directly within the interface. ## Layout Configuration System Implemented a flexible layout configuration system that allows for custom header, footer, and sidebar arrangements. Documentation can now be customized to match your brand and preferences. ```yaml layout: page-width: full tabs-placement: header searchbar-placement: header ``` ## Custom Styling Support Added support for custom CSS and scripts, enabling deep customization of documentation appearance and behavior. Organizations can now apply their branding consistently across their documentation. ```yaml docs.yml css: ./assets/styles.css ``` ```css styles.css /* Custom styles */ .custom-class { background-color: #f0f0f0; } ``` # January 24, 2024 ## API Playground Launch Enable interactive API testing directly in the documentation. * Added full API request testing capability * Improved error handling and status code display * Added support for recursive property rendering ## Enhanced Dark Mode Multiple improvements to dark mode readability for syntax highlighting, dropdowns, and search results. ```css /* Dark mode improvements */ [data-theme='dark'] { --syntax-bg: #1a1a1a; --dropdown-bg: #2d2d2d; --search-highlight: #ffd700; } ``` ## Mobile-Friendly Navigation Comprehensive updates to mobile navigation experience with collapsible and scrolling. ## Search Enhancements Multiple improvements to the search experience. * Default and configurable keyboard shortcuts (`Cmd+A`, `/`) for search * Improved search box sizing * Added auto-focus functionality ## Performance Optimization Several performance improvements across the platform. * Moved FontAwesome to CDN * Improved search dialog loading * Optimized static props loading * Added polyfill DOM parser for server-side TOC rendering # Docs.yml > Learn how to configure your Fern documentation site with the docs.yml file. Customize colors, typography, layout, analytics and more. ### YAML Schema Validation To enable intelligent YAML validation and autocompletion in your editor, add this line at the top of your `docs.yml` file: ```yaml docs.yml # yaml-language-server: $schema=https://schema.buildwithfern.dev/docs-yml.json ``` This enables real-time schema validation and autocompletion based on our [complete schema](https://github.com/fern-api/fern/blob/09555d587294fd3dc77ceb35f21e8976a5a2b7a2/fern/apis/docs-yml/definition/docs.yml#L110). ## Core configuration Every Fern documentation website requires a `docs.yml` file that contains the core configuration settings. Here are the essential top-level properties you can configure: ```yaml docs.yml # yaml-language-server: $schema=https://schema.buildwithfern.dev/docs-yml.json title: Stripe API Documentation favicon: assets/stripe-favicon.ico default-language: typescript # Default code sample language logo: href: https://stripe.com dark: assets/stripe-logo-dark.svg light: assets/stripe-logo-light.svg colors: accent-primary: light: "#635BFF" # Stripe's primary purple dark: "#9B90FF" # Lighter purple for dark mode background: light: "#FFFFFF" dark: "#0A2540" navbar-links: - type: filled text: "Dashboard" href: "https://dashboard.stripe.com" - type: minimal text: "Support" href: "https://support.stripe.com" ```