Skip to content

Commit 4b052d1

Browse files
committed
Merge branch 'main' of https://github.com/fern-api/docs into niels/update-npm-publishing-with-oidc
2 parents 4152b8b + 5db70c0 commit 4b052d1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

47 files changed

+287
-101
lines changed
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
# .github/workflows/auto-merge-on-release.yml in docs repo
2+
name: Auto-merge on Docs Release
3+
on:
4+
repository_dispatch:
5+
types: [docs_release]
6+
7+
jobs:
8+
merge-dependent-prs:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- name: Find and merge dependent PRs
12+
uses: actions/github-script@v7
13+
with:
14+
script: |
15+
const version = context.payload.client_payload.version;
16+
17+
// Find PRs with matching labels
18+
const { data: prs } = await github.rest.pulls.list({
19+
owner: context.repo.owner,
20+
repo: context.repo.repo,
21+
state: 'open'
22+
});
23+
24+
for (const pr of prs) {
25+
const labels = pr.labels.map(l => l.name);
26+
const hasLatestLabel = labels.includes('depends-on: docs@latest');
27+
const hasVersionLabel = labels.includes(`depends-on: docs@${version}`);
28+
29+
if (hasLatestLabel || hasVersionLabel) {
30+
// Check if PR is approved and CI passes
31+
const { data: reviews } = await github.rest.pulls.listReviews({
32+
owner: context.repo.owner,
33+
repo: context.repo.repo,
34+
pull_number: pr.number
35+
});
36+
37+
const approved = reviews.some(r => r.state === 'APPROVED');
38+
39+
if (approved) {
40+
await github.rest.pulls.merge({
41+
owner: context.repo.owner,
42+
repo: context.repo.repo,
43+
pull_number: pr.number,
44+
merge_method: 'squash'
45+
});
46+
47+
console.log(`Merged PR #${pr.number}: ${pr.title}`);
48+
}
49+
}
50+
}

.vale.ini

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ Microsoft.Accessibility = NO
1919
Microsoft.Passive = NO
2020
Microsoft.Suspended = NO
2121
Microsoft.Vocab = NO
22+
Microsoft.Semicolon = NO # Mostly just picks up code
23+
Microsoft.SentenceLength = NO # Mostly just picks up code
24+
Microsoft.Dashes = NO
2225

2326
# Not relevant for Fern audience
2427
Microsoft.GeneralURL = NO

.vale/styles/FernStyles/Headings.yml

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,44 @@ exceptions:
3939
- gRPC
4040
- RPC
4141
- SDK
42-
- SDKs
42+
- SDKs
43+
- Accordion
44+
- Accordions
45+
- Accordion Groups
46+
- Aside
47+
- Badge
48+
- Badges
49+
- Button
50+
- Callout
51+
- Callouts
52+
- Card
53+
- Cards
54+
- Card Groups
55+
- Code Blocks
56+
- CodeBlock
57+
- CodeBlocks
58+
- CodeGroup
59+
- Embed
60+
- Endpoint Request Snippet
61+
- Endpoint Response Snippet
62+
- Endpoint Schema Snippet
63+
- Frame
64+
- Frames
65+
- Icon
66+
- Icons
67+
- Param Field
68+
- Param Fields
69+
- ParamField
70+
- Runnable Endpoint
71+
- Step
72+
- Steps
73+
- Sticky Table
74+
- StickyTable
75+
- Tab
76+
- Tabs
77+
- Tooltip
78+
- Tooltips
79+
- PDF
80+
- CSS
81+
- HTML
82+
- JSON

fern/apis/fai/openapi.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -474,7 +474,7 @@
474474
}
475475
},
476476
"x-fern-audiences": [
477-
"internal"
477+
"customers"
478478
],
479479
"security": [
480480
{
@@ -2026,7 +2026,7 @@
20262026
}
20272027
},
20282028
"x-fern-audiences": [
2029-
"internal"
2029+
"customers"
20302030
],
20312031
"security": [
20322032
{

fern/products/cli-api-reference/cli-changelog/2025-10-23.mdx

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,16 @@
1+
## 0.94.6
2+
**`(fix):`** Fixed bug in openapi-importer where file type params in multipart/form-data
3+
were incorrectly marked as required.
4+
5+
6+
## 0.94.5
7+
**`(fix):`** Properly reload pages with Markdown snippets if you update the snippet in `fern docs dev`
8+
9+
10+
## 0.94.4
11+
**`(fix):`** Restore support for x-fern-examples path parameters if there is no request body.
12+
13+
114
## 0.94.3
215
**`(fix):`** Fix broken recursive unescaping of \ during handling of \$ in IR generation.
316

fern/products/docs/pages/component-library/custom-components/conditional-rendering.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Conditionally Rendered Content
2+
title: Conditionally rendered content
33
---
44

55
You can conditionally render content based on the instance or version of the docs, in addition to the role of an authenticated user.
@@ -46,4 +46,4 @@ instances:
4646
<If viewer={["admin"]}>
4747
This is an admin feature. It should only be available when the user is an admin.
4848
</If>
49-
```
49+
```

fern/products/docs/pages/component-library/custom-components/custom-css-js.mdx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ You can use custom CSS to create brand-specific styling for tables, components,
139139

140140
## Custom JavaScript
141141

142-
Customize the behavior of your Docs site by injecting custom JavaScript globally. Add a `custom.js` file and include it in your `fern/` project:
142+
Customize the behavior of your Docs site by injecting custom JavaScript globally.Add a `custom.js` file and include it in your `fern/` project:
143143

144144
<CodeBlock title="Add the custom.js file">
145145
```bash {5}
@@ -266,8 +266,8 @@ ReactDOM.render(
266266
- `ReactDOM.render()` may need to be called multiple times to prevent it from unmounting (this side-effect will be removed in the future).
267267
- `yarn build` or `npm build` must generate files with deterministic names to be referenced in `docs.yml`. The above example uses a [`vite` config](https://github.com/fern-api/docs-custom-js-example/blob/main/custom-app/vite.config.ts) to accomplish this.
268268
- For your hosted Docs site, you may need to update your CD steps to include building the react-app.
269-
- Custom components are not supported in local development. They are supported in preview links.
269+
- Custom components aren't supported in local development, but are supported in preview links.
270270

271271
<Info>
272272
This approach is subject to change, with notice, as we make improvements to the plugin architecture.
273-
</Info>
273+
</Info>

fern/products/docs/pages/component-library/default-components/accordion-groups.mdx

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ description: 'Display expandable/collapsible options that reveal more informatio
66
Accordion Groups allow you to organize content into collapsible sections, making it easier for users to navigate through information. With recent updates, our Accordion component now supports improved search functionality using the browser's built-in search feature.
77

88
<AccordionGroup>
9-
<Accordion title="Basic Usage">
9+
<Accordion title="Basic usage">
1010
Accordion Groups can contain multiple Accordion items. Each item has a title and content that can be expanded or collapsed.
1111

1212
```jsx
@@ -21,7 +21,7 @@ Accordion Groups allow you to organize content into collapsible sections, making
2121
```
2222
</Accordion>
2323

24-
<Accordion title="Searchable Content">
24+
<Accordion title="Searchable content">
2525
The updated Accordion component now uses HTML5 `<details>` and `<summary>` elements, enabling browser search (Cmd+F / Ctrl+F) to find content within collapsed sections.
2626
</Accordion>
2727

@@ -30,22 +30,22 @@ Accordion Groups allow you to organize content into collapsible sections, making
3030
</Accordion>
3131
</AccordionGroup>
3232

33-
### Enhanced Search Functionality
33+
### Enhanced search functionality
3434

3535
The recent update to our Accordion component improves content discoverability by allowing users to search through all content, including collapsed sections, using the browser's search function (Cmd+F / Ctrl+F).
3636

37-
### Usage Examples
37+
### Usage examples
3838

3939
Here are some examples of how to use the Accordion Group component:
4040

4141
<Tabs>
4242
<Tab title="Example">
4343
<AccordionGroup>
44-
<Accordion title="Simple Text Content">
44+
<Accordion title="Simple text content">
4545
This is a basic example with text content.
4646
</Accordion>
4747

48-
<Accordion title="With Code Snippets">
48+
<Accordion title="With code snippets">
4949
You can include code snippets within Accordions:
5050

5151
```javascript
@@ -55,7 +55,7 @@ Here are some examples of how to use the Accordion Group component:
5555
```
5656
</Accordion>
5757

58-
<Accordion title="Nested Components">
58+
<Accordion title="Nested components">
5959
Accordions can contain other components:
6060

6161
<Frame caption="Sample image">
@@ -65,14 +65,14 @@ Here are some examples of how to use the Accordion Group component:
6565
</AccordionGroup>
6666
</Tab>
6767
<Tab title="Markdown">
68-
<CodeBlock title="Example Usage">
68+
<CodeBlock title="Example usage">
6969
````jsx
7070
<AccordionGroup>
71-
<Accordion title="Text Example">
71+
<Accordion title="Text example">
7272
This is a basic example of an accordion group.
7373
</Accordion>
7474

75-
<Accordion title="Multimedia Example">
75+
<Accordion title="Multimedia example">
7676
You can embed photos, videos, and other media within accordions for rich interactive content.
7777

7878
<embed
@@ -83,7 +83,7 @@ Here are some examples of how to use the Accordion Group component:
8383
/>
8484
</Accordion>
8585

86-
<Accordion title="Rich Content Support">
86+
<Accordion title="Rich content support">
8787
Accordions can contain rich content including code blocks, callouts, and other components.
8888

8989
```ts
@@ -93,7 +93,7 @@ Here are some examples of how to use the Accordion Group component:
9393
```
9494
</Accordion>
9595

96-
<Accordion title="Best Practices Using Accordion Groups">
96+
<Accordion title="Best practices using Accordion Groups">
9797
- Use accordion groups when you have multiple related sections
9898
- Each accordion should have a clear title
9999
- Keep content concise and focused

fern/products/docs/pages/component-library/default-components/cards.mdx

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,56 @@ You can use individual cards or [use the `CardGroup` component](/docs/writing-co
7777
</Tab>
7878
</Tabs>
7979

80+
## Adding images to cards
81+
82+
Cards support displaying images alongside content. The image automatically resizes to fit the card dimensions, so you typically don't need to specify `imageWidth` or `imageHeight` unless you want to override the default behavior.
83+
84+
<Tabs>
85+
<Tab title="Card with image">
86+
<Card
87+
title="Product Overview"
88+
src="https://images.unsplash.com/photo-1517694712202-14dd9538aa97"
89+
imagePosition="left"
90+
>
91+
Display an image alongside your card content. The image automatically scales to fit the card.
92+
</Card>
93+
</Tab>
94+
<Tab title="Markdown">
95+
```jsx
96+
<Card
97+
title="Product Overview"
98+
src="https://images.unsplash.com/photo-1517694712202-14dd9538aa97"
99+
imagePosition="left"
100+
>
101+
Display an image alongside your card content. The image automatically scales to fit the card.
102+
</Card>
103+
```
104+
</Tab>
105+
</Tabs>
106+
107+
<Tabs>
108+
<Tab title="Card with image on top">
109+
<Card
110+
title="Getting Started"
111+
src="https://images.unsplash.com/photo-1498050108023-c5249f4df085"
112+
imagePosition="top"
113+
>
114+
Position the image at the top of the card for a banner-style layout.
115+
</Card>
116+
</Tab>
117+
<Tab title="Markdown">
118+
```jsx
119+
<Card
120+
title="Getting Started"
121+
src="https://images.unsplash.com/photo-1498050108023-c5249f4df085"
122+
imagePosition="top"
123+
>
124+
Position the image at the top of the card for a banner-style layout.
125+
</Card>
126+
```
127+
</Tab>
128+
</Tabs>
129+
80130
## Properties
81131

82132
<ParamField path="title" type="string">
@@ -100,3 +150,15 @@ You can use individual cards or [use the `CardGroup` component](/docs/writing-co
100150
<ParamField path="lightModeColor" type="string">
101151
Hex color value for the icon in light mode (e.g. `#FF0F00`)
102152
</ParamField>
153+
<ParamField path="src" type="string">
154+
URL of the image to display in the card. When set, the card displays the image alongside the content.
155+
</ParamField>
156+
<ParamField path="imagePosition" type="'top' | 'left' | 'right' | 'bottom'" default="top">
157+
Position of the image relative to the card content. Use `imagePosition` to control the layout.
158+
</ParamField>
159+
<ParamField path="imageWidth" type="string">
160+
Width of the image (e.g. `200px`, `50%`). Only use if you need to override the default sizing. The image automatically resizes to fit the card by default.
161+
</ParamField>
162+
<ParamField path="imageHeight" type="string">
163+
Height of the image (e.g. `150px`, `100%`). Only use if you need to override the default sizing. The image automatically resizes to fit the card by default.
164+
</ParamField>

fern/products/docs/pages/component-library/default-components/code-blocks.mdx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -272,13 +272,13 @@ By default, long lines that exceed the width of the code block become scrollable
272272

273273
<Tabs>
274274
<Tab title="Example">
275-
```txt title="Without Word Wrap"
275+
```txt title="Without wordWrap"
276276
A very very very long line of text that may cause the code block to overflow and scroll as a result.
277277
```
278278
</Tab>
279279
<Tab title="Markdown">
280280
````markdown
281-
```txt title="Without Word Wrap"
281+
```txt title="Without wordWrap"
282282
A very very very long line of text that may cause the code block to overflow and scroll as a result.
283283
```
284284
````
@@ -289,14 +289,14 @@ To disable scrolling and wrap overflow onto the next line, use the `wordWrap` pr
289289

290290
<Tabs>
291291
<Tab title="Example">
292-
```txt title="With Word Wrap" wordWrap
292+
```txt title="With wordWrap" wordWrap
293293
A very very very long line of text that may cause the code block to overflow and scroll as a result.
294294
```
295295
</Tab>
296296
<Tab title="Markdown">
297297
````markdown
298-
```txt title="With Word Wrap" wordWrap
299-
A very very very long line of text that may cause the codeblock to overflow and scroll as a result.
298+
```txt title="With wordWrap" wordWrap
299+
A very very very long line of text that may cause the code block to overflow and scroll as a result.
300300
```
301301
````
302302
</Tab>

0 commit comments

Comments
 (0)