Skip to content

Commit 22993c8

Browse files
committed
small updates for clarity
1 parent eeefcad commit 22993c8

5 files changed

Lines changed: 56 additions & 24 deletions

File tree

fern/products/dashboard/pages/domains.mdx

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,4 +52,15 @@ Once you've added the DNS records, return to the Fern Dashboard to verify your d
5252
5353
<Tip>Check that you can access your new docs site from a mobile device or incognito browser.</Tip>
5454
</Step>
55-
</Steps>
55+
</Steps>
56+
57+
## Multi-source settings
58+
59+
For [multi-source sites](/learn/docs/preview-publish/multi-source) — where multiple repositories publish to the same custom domain on different sub-paths — the Dashboard exposes a **Multi-repo settings** card on the domain's **Settings** tab. These settings apply to the whole domain, not per sub-path.
60+
61+
The card configures:
62+
63+
- **Default path** — sets where users land at the bare root of the domain. Useful when a Fern-managed page serves as the root.
64+
- **Search / Ask AI scope** — controls whether searches in one sub-path return results across all sub-paths (unified) or stay scoped to that sub-path (hierarchical).
65+
66+
See [Multi-source docs](/learn/docs/preview-publish/multi-source) for the full setup walkthrough.

fern/products/dashboard/pages/overview.mdx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,13 @@ Visit your team's [Dashboard](https://dashboard.buildwithfern.com/) and complete
4040
>
4141
Set up AI-powered chat for your documentation.
4242
</Card>
43+
<Card
44+
title="Multi-source settings"
45+
icon="regular code-branch"
46+
href="/learn/dashboard/configuration/custom-domains#multi-source-settings"
47+
>
48+
Configure default path and search scope for domains shared across multiple repositories.
49+
</Card>
4350
</CardGroup>
4451

4552
## Metrics
@@ -166,6 +173,7 @@ Visit your team's [Dashboard](https://dashboard.buildwithfern.com/) and complete
166173
- [Member permissions](/learn/dashboard/configuration/permissions): Assign Admin, Editor, or Viewer roles to manage Dashboard and CLI access.
167174
- [Integrate GitHub](/learn/dashboard/configuration/github-repo): Connect your GitHub repository to your project.
168175
- [Enable Ask Fern](/learn/docs/ai-features/ask-fern/overview): Set up AI-powered chat for your documentation.
176+
- [Multi-source settings](/learn/dashboard/configuration/custom-domains#multi-source-settings): Configure default path and search scope for domains shared across multiple repositories.
169177

170178
## Metrics
171179

fern/products/docs/pages/ask-fern/what-is-ask-fern.mdx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@ Ask Fern is Fern's AI Search feature, powered by [Claude 4.6 Sonnet](https://www
2626
<Info>
2727
Enabling Ask Fern triggers an automatic reindex of your content. This typically takes a few minutes, though sites with extensive custom components may take longer. Once this process is finished, the Ask Fern side panel will appear on your site.
2828
</Info>
29+
30+
<Note>
31+
For [multi-source sites](/learn/docs/preview-publish/multi-source), the Dashboard also controls whether Ask Fern answers from a single sub-path's content (hierarchical) or from all sub-paths on the domain (unified).
32+
</Note>
2933
</Step>
3034
<Step title="Connect Slack">
3135
Connect Ask Fern to [Slack](/learn/docs/ai-features/ask-fern/slack-app) so your users can ask questions directly from chat.

fern/products/docs/pages/customization/search.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ It includes built-in dropdown filters that appear dynamically based on your site
3131
</video>
3232
</Frame>
3333

34-
Fern can scope search to the user's current context. For sites with multiple products or versions, set [`default-search-filters: true`](/learn/docs/configuration/site-level-settings#settingsdefault-search-filters) in your `docs.yml` to filter results to the user's current product and version (users can still remove these filters to broaden the search). For sites with [localized docs](/learn/docs/localization/overview), search is automatically scoped to the reader's active language.
34+
Fern can scope search to the user's current context. For sites with multiple products or versions, set [`default-search-filters: true`](/learn/docs/configuration/site-level-settings#settingsdefault-search-filters) in your `docs.yml` to filter results to the user's current product and version (users can still remove these filters to broaden the search). For sites with [localized docs](/learn/docs/localization/overview), search is automatically scoped to the reader's active language. For [multi-source sites](/learn/docs/preview-publish/multi-source), search scope across sub-paths (hierarchical vs. unified) is configured per-domain in the [Fern Dashboard](https://dashboard.buildwithfern.com).
3535

3636
If you're using [Ask Fern](/learn/docs/ai-features/ask-fern/overview) (AI search), the search box also functions as your site's chat window.
3737

fern/products/docs/pages/preview-publish/multi-source.mdx

Lines changed: 31 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,16 @@ description: Learn how to set up multi-source documentation so independent teams
66

77
<Markdown src="/snippets/enterprise-plan.mdx" />
88

9-
Multi-source documentation lets multiple teams publish to the same custom domain from independent repositories. Each repository has its own `docs.yml` and content, while a shared [global theme](/learn/docs/customization/global-themes) keeps branding consistent across every sub-path.
9+
Multi-source documentation publishes a single docs site to a custom domain, split into multiple sub-paths. Each sub-path is sourced from its own repository, so teams ship updates independently while a shared [global theme](/learn/docs/customization/global-themes) keeps branding consistent across the site.
1010

1111
## How it works
1212

13-
Each repository owns a unique basepath on the shared domain. Running `fern generate --docs` in one repository updates only its sub-path — every other sub-path is untouched.
13+
Each repository declares a unique basepath under the shared domain in its `docs.yml`. Running `fern generate --docs` from that repository updates only its sub-path — every other sub-path stays untouched.
1414

1515
Three pieces of configuration make this work:
1616

1717
1. **`multi-source: true`** set on the instance in each repository's `docs.yml`, with `url` and `custom-domain` ending in the same basepath.
18-
2. **[Global themes](/learn/docs/customization/global-themes)**, referenced by name in each `docs.yml`, deliver shared branding from a central source.
18+
2. **[Global themes](/learn/docs/customization/global-themes)** live in a dedicated control repository and are referenced by name from each source repository's `docs.yml`.
1919
3. **Multi-repo settings** in the [Fern Dashboard](https://dashboard.buildwithfern.com) control the domain's default path and search/Ask AI scope.
2020

2121
For example, NVIDIA's docs are split across multiple independent repositories, each publishing to its own sub-path on `docs.nvidia.com`:
@@ -25,15 +25,19 @@ For example, NVIDIA's docs are split across multiple independent repositories, e
2525
- [docs.nvidia.com/aiperf](https://docs.nvidia.com/aiperf)
2626
- [docs.nvidia.com/nemo/curator](https://docs.nvidia.com/nemo/curator)
2727

28-
Each sub-path is published independently, but end users see a single unified site. The root `docs.nvidia.com` itself is a separate site outside the Fern setup — multi-source covers only the sub-paths. A Fern-published landing page is optional ([example](#example-a-live-multi-source-site)), and any combination of sub-paths works, including just two.
28+
Each sub-path is published independently, but end users see a single unified site.
29+
30+
<Tip>
31+
The root `docs.nvidia.com` itself is a separate site outside the Fern setup — multi-source covers only the sub-paths. A Fern-published landing page is optional ([example](#example-a-live-multi-source-site)), and any combination of sub-paths works, including just two.
32+
</Tip>
2933

3034
## Set up multi-source docs
3135

3236
<Steps>
3337

3438
<Step title="Create a control repository for the global theme">
3539

36-
The control repository is a dedicated Fern project whose only job is to house your global theme — the shared logo, colors, fonts, layout, and site-level settings that every team repository will inherit. Define those settings in its `docs.yml`, then export and upload the theme:
40+
The control repository is a dedicated Fern project that holds your global theme — the shared logo, colors, fonts, layout, and site-level settings that every source repository inherits. Define those settings in its `docs.yml`, then export and upload the theme:
3741

3842
```bash
3943
fern docs theme export
@@ -92,20 +96,19 @@ Only the sub-path owned by that repository is updated. Every other sub-path is u
9296

9397
<Step title="Configure domain settings in the Dashboard">
9498

95-
Open the [Fern Dashboard](https://dashboard.buildwithfern.com) and select your top-level domain (e.g., `docs.example.com`) — these settings apply to the whole domain, not per sub-path. In the **Settings** tab, navigate to the **Multi-repo settings** card and configure:
99+
Open the [Fern Dashboard](https://dashboard.buildwithfern.com) and select your top-level domain (e.g., `docs.example.com`) — these settings apply to the whole domain, not per sub-path. In the **Settings** tab, navigate to the **Multi-repo settings** card.
100+
101+
Configure the following:
96102

97-
- **Default path** *(optional)* — sets where users land when they visit the bare root of your domain. Set this when a Fern-managed page should serve as the root: for example, if your homepage lives at the `/home` sub-path, set the default path to `/home` so `docs.example.com` redirects to `docs.example.com/home`. Skip this if the root isn't Fern-managed, like NVIDIA's `docs.nvidia.com` (a separate marketing site outside the Fern setup).
98-
- **Search / Ask AI behavior** — controls how [Ask Fern](/learn/docs/ai-features/ask-fern/overview) and search work across sub-paths.
103+
- **Default path** *(optional)* — sets where users land when they visit the bare root of your domain. Set this when a Fern-managed page should serve as the root. For example, if your homepage lives at the `/home` sub-path, set the default path to `/home` so `docs.example.com` redirects to `docs.example.com/home`. Skip this if the root isn't Fern-managed, like NVIDIA's `docs.nvidia.com` (a separate marketing site outside the Fern setup).
104+
- **Search / Ask AI behavior** — controls how [Ask Fern](/learn/docs/ai-features/ask-fern/overview) and search work across sub-paths. Two modes are available:
105+
- **Hierarchical** — searches under `/subpath` only return results from `/subpath` and below. Use when each sub-path covers a distinct product and users expect scoped results.
106+
- **Unified** — searches under any sub-path return results from all sub-paths. Use when the sub-paths are parts of a single product and users benefit from cross-cutting results.
99107

100108
<Frame>
101109
![Multi-source settings in the Fern Dashboard](./images/multi-repo.png)
102110
</Frame>
103111

104-
Two search modes are available:
105-
106-
- **Hierarchical** — searches under `/subpath` only return results from `/subpath` and below. Use this when each sub-path covers a distinct product and users expect scoped results.
107-
- **Unified** — searches under any sub-path return results from all sub-paths. Use this when the sub-paths are parts of a single product and users benefit from cross-cutting results.
108-
109112
</Step>
110113

111114
</Steps>
@@ -118,15 +121,21 @@ Browse the live site at [multi-source.docs.buildwithfern.com](https://multi-sour
118121

119122
This is the alternative shape to NVIDIA's setup: a Fern-managed homepage at the bare root, plus team sub-paths underneath. The example uses six independent `fern/` projects on one shared domain — a homepage at `/`, a `/seeds` team hub with two nested sub-children, and standalone `/greenhouses` and `/nursery` teams:
120123

121-
```
122-
multi-source.docs.buildwithfern.com
123-
├── / ← homepage
124-
├── /seeds ← Seeds team hub
125-
│ ├── /seeds/sunflower ← Sunflower sub-team
126-
│ └── /seeds/tomato ← Tomato sub-team
127-
├── /greenhouses ← Greenhouses team
128-
└── /nursery ← Nursery team
129-
```
124+
<Files>
125+
<Folder name="multi-source.docs.buildwithfern.com" defaultOpen>
126+
<File name="/" comment="homepage" />
127+
<Folder name="/seeds" defaultOpen comment="Seeds team hub">
128+
<File name="/seeds/sunflower" comment="Sunflower sub-team" />
129+
<File name="/seeds/tomato" comment="Tomato sub-team" />
130+
</Folder>
131+
<File name="/greenhouses" comment="Greenhouses team" />
132+
<File name="/nursery" comment="Nursery team" />
133+
</Folder>
134+
</Files>
135+
136+
<Note>
137+
The unit is one `fern/` folder per sub-path, not one repository per sub-path. A repo-per-sub-path layout (often one per team) is the most common shape, but multiple `fern/` folders in a single repo work too.
138+
</Note>
130139

131140
All six projects share `global-theme: plantstore-theme` and set `multi-source: true` — they differ only in their basepath. Sub-paths can themselves contain nested sub-paths: `/seeds/sunflower` and `/seeds/tomato` are independently published projects that live under `/seeds`.
132141

0 commit comments

Comments
 (0)