Skip to content

Clarify relative path resolution across all docs configuration references#4649

Merged
Ryan-Amirthan merged 6 commits intomainfrom
devin/1774960750-clarify-relative-path-icons
Mar 31, 2026
Merged

Clarify relative path resolution across all docs configuration references#4649
Ryan-Amirthan merged 6 commits intomainfrom
devin/1774960750-clarify-relative-path-icons

Conversation

@devin-ai-integration
Copy link
Copy Markdown
Contributor

@devin-ai-integration devin-ai-integration bot commented Mar 31, 2026

Summary

Updates documentation across 8 files to clarify that relative file paths in configuration properties are resolved relative to the YAML file where they are set, not always relative to docs.yml or "the docs root."

This fixes a documentation inaccuracy reported by a customer who found that icon paths in a product config file needed to be relative to that product config (e.g., ../../assets/icons/...), not to docs.yml.

Files changed

Shared snippets (propagate to 7+ pages):

  • fern/snippets/icons.mdx — updated wording + added concrete examples showing how the same path resolves differently from fern/docs.yml vs fern/products/my-product.yml
  • fern/snippets/seo-metadata-site.mdx — clarified og:background-image relative path resolution

Site-level settings (site-level-settings.mdx):

  • favicon, logo.dark, logo.light, background-image.light, background-image.dark, font path, and landing page path — all updated from vague "relative filepath" or "relative to the docs root" to "relative to the YAML file where it is set (e.g., docs.yml)"

Navigation:

  • tabs.mdxchangelog path property updated from "relative to the fern directory" to "relative to the YAML file where it is set (e.g., docs.yml)"

SEO:

  • seo/metadata.mdx — standalone og:background-image description updated

Changelogs:

  • changelog/2025-11-03.mdx — custom icons entry updated
  • changelog/2025-12-20.mdx — Card/Icon SVG entry now states paths are relative to the page where the component is used

Review & Testing Checklist for Human

  • Verify path resolution for non-icon properties: The original customer report was about icons in product config files. This PR extends the same "relative to the YAML file" claim to favicon, logo, background-image, fonts, and landing page path. Confirm these properties also resolve relative to the YAML file (and not, e.g., always relative to the fern/ directory root). If some resolve differently, those descriptions should be reverted.
  • Check the icons.mdx examples: The snippet now states that ./assets/icon.svg in fern/products/my-product.yml resolves to fern/products/assets/icon.svg. Verify this matches actual Fern CLI behavior.
  • Tabs changelog path: Previously said "relative to the fern directory" — confirm the new wording ("relative to the YAML file where it is set") is accurate for this property specifically, since it may actually resolve relative to the fern directory rather than the YAML file.
  • Preview the rendered pages to verify formatting, especially the icons.mdx snippet which now has a longer bullet point with examples.

Test plan: Open the preview deployment and spot-check pages that include the icons.mdx snippet (e.g., tabs, navigation, site-level settings). Verify the examples render clearly inline.

Notes

  • The icons.mdx snippet is reused in 7+ locations across the docs (tabs, products, navigation, site-level settings). Fixing the snippet propagates the correction everywhere.
  • Wording was simplified from listing specific file names (product.yml, navigation.yml, etc.) to a blanket term ("the YAML file where the icon is referenced") per reviewer feedback, with (e.g., docs.yml) added for context.
  • Also fixes a missing newline at end of icons.mdx.

Link to Devin session: https://app.devin.ai/sessions/e26fcc58e1784ca182a2ad65e70db0a0

…, not docs.yml

Co-Authored-By: bot_apk <apk@cognition.ai>
@devin-ai-integration devin-ai-integration bot requested a review from devalog as a code owner March 31, 2026 12:40
@devin-ai-integration
Copy link
Copy Markdown
Contributor Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment and CI monitoring

@fern-api
Copy link
Copy Markdown
Contributor

fern-api bot commented Mar 31, 2026

Requested by: ryan
Slack thread: View conversation

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 31, 2026

devin-ai-integration bot and others added 2 commits March 31, 2026 12:49

<ParamField path="favicon" type="string" required={false} toc={true}>
Relative filepath to the favicon.
Relative filepath to the favicon. The path is relative to the configuration file where it is set.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [vale] reported by reviewdog 🐶
[Microsoft.Contractions] Use 'it's' instead of 'it is'.


<ParamField path="logo.dark" type="string" required={false} toc={true}>
Path to your dark mode logo file, relative to the docs root. SVG format is recommended for optimal quality. Example: `assets/images/logo-dark.svg`
Path to your dark mode logo file, relative to the configuration file where it is set. SVG format is recommended for optimal quality. Example: `assets/images/logo-dark.svg`
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [vale] reported by reviewdog 🐶
[Microsoft.Contractions] Use 'it's' instead of 'it is'.


<ParamField path="logo.light" type="string" required={false} toc={true}>
Path to your light mode logo file, relative to the docs root. SVG format is recommended for optimal quality. Example: `assets/images/logo-light.svg`
Path to your light mode logo file, relative to the configuration file where it is set. SVG format is recommended for optimal quality. Example: `assets/images/logo-light.svg`
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [vale] reported by reviewdog 🐶
[Microsoft.Contractions] Use 'it's' instead of 'it is'.


<ParamField path="background-image.light" type="string" required={false} toc={true}>
Relative filepath to the light-mode background image.
Relative filepath to the light-mode background image. The path is relative to the configuration file where it is set.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [vale] reported by reviewdog 🐶
[Microsoft.Contractions] Use 'it's' instead of 'it is'.


<ParamField path="background-image.dark" type="string" required={false} toc={true}>
Relative filepath to the dark-mode background image.
Relative filepath to the dark-mode background image. The path is relative to the configuration file where it is set.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [vale] reported by reviewdog 🐶
[Microsoft.Contractions] Use 'it's' instead of 'it is'.


<ParamField path="path" type="string" required={false} toc={true}>
The path to your font file, relative to your docs folder. Use this when you have a single font file. For multiple font files (like separate files for bold, italic etc), use `paths` instead.
The path to your font file, relative to the configuration file where it is set. Use this when you have a single font file. For multiple font files (like separate files for bold, italic etc), use `paths` instead.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [vale] reported by reviewdog 🐶
[Microsoft.Contractions] Use 'it's' instead of 'it is'.


<ParamField path="path" type="string" required={true}>
Relative filepath to the desired landing page Markdown file.
Relative filepath to the desired landing page Markdown file. The path is relative to the configuration file where it is set.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [vale] reported by reviewdog 🐶
[Microsoft.Contractions] Use 'it's' instead of 'it is'.


<ParamField path="changelog" type="string">
Path to a [changelog](/learn/docs/configuration/changelogs) folder relative to the `fern` directory
Path to a [changelog](/learn/docs/configuration/changelogs) folder, relative to the configuration file where it is set
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [vale] reported by reviewdog 🐶
[Microsoft.Contractions] Use 'it's' instead of 'it is'.

@devin-ai-integration devin-ai-integration bot changed the title Clarify that icon relative paths are relative to the referencing file Clarify relative path resolution across all docs configuration references Mar 31, 2026

<ParamField path="changelog" type="string">
Path to a [changelog](/learn/docs/configuration/changelogs) folder relative to the `fern` directory
Path to a [changelog](/learn/docs/configuration/changelogs) folder, relative to the YAML file where it is set (e.g., `docs.yml`)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [vale] reported by reviewdog 🐶
[Microsoft.Contractions] Use 'it's' instead of 'it is'.


<ParamField path="favicon" type="string" required={false} toc={true}>
Relative filepath to the favicon.
Relative filepath to the favicon. The path is relative to the YAML file where it is set (e.g., `docs.yml`).
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [vale] reported by reviewdog 🐶
[Microsoft.Contractions] Use 'it's' instead of 'it is'.


<ParamField path="logo.dark" type="string" required={false} toc={true}>
Path to your dark mode logo file, relative to the docs root. SVG format is recommended for optimal quality. Example: `assets/images/logo-dark.svg`
Path to your dark mode logo file, relative to the YAML file where it is set (e.g., `docs.yml`). SVG format is recommended for optimal quality. Example: `assets/images/logo-dark.svg`
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [vale] reported by reviewdog 🐶
[Microsoft.Contractions] Use 'it's' instead of 'it is'.


<ParamField path="logo.light" type="string" required={false} toc={true}>
Path to your light mode logo file, relative to the docs root. SVG format is recommended for optimal quality. Example: `assets/images/logo-light.svg`
Path to your light mode logo file, relative to the YAML file where it is set (e.g., `docs.yml`). SVG format is recommended for optimal quality. Example: `assets/images/logo-light.svg`
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [vale] reported by reviewdog 🐶
[Microsoft.Contractions] Use 'it's' instead of 'it is'.


<ParamField path="background-image.light" type="string" required={false} toc={true}>
Relative filepath to the light-mode background image.
Relative filepath to the light-mode background image. The path is relative to the YAML file where it is set (e.g., `docs.yml`).
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [vale] reported by reviewdog 🐶
[Microsoft.Contractions] Use 'it's' instead of 'it is'.


<ParamField path="background-image.dark" type="string" required={false} toc={true}>
Relative filepath to the dark-mode background image.
Relative filepath to the dark-mode background image. The path is relative to the YAML file where it is set (e.g., `docs.yml`).
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [vale] reported by reviewdog 🐶
[Microsoft.Contractions] Use 'it's' instead of 'it is'.


<ParamField path="path" type="string" required={false} toc={true}>
The path to your font file, relative to your docs folder. Use this when you have a single font file. For multiple font files (like separate files for bold, italic etc), use `paths` instead.
The path to your font file, relative to the YAML file where it is set (e.g., `docs.yml`). Use this when you have a single font file. For multiple font files (like separate files for bold, italic etc), use `paths` instead.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [vale] reported by reviewdog 🐶
[Microsoft.Contractions] Use 'it's' instead of 'it is'.


<ParamField path="path" type="string" required={true}>
Relative filepath to the desired landing page Markdown file.
Relative filepath to the desired landing page Markdown file. The path is relative to the YAML file where it is set (e.g., `docs.yml`).
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🚫 [vale] reported by reviewdog 🐶
[Microsoft.Contractions] Use 'it's' instead of 'it is'.

devin-ai-integration bot and others added 2 commits March 31, 2026 16:41
Co-Authored-By: bot_apk <apk@cognition.ai>
Co-Authored-By: bot_apk <apk@cognition.ai>
@Ryan-Amirthan Ryan-Amirthan merged commit 4a37415 into main Mar 31, 2026
2 checks passed
@Ryan-Amirthan Ryan-Amirthan deleted the devin/1774960750-clarify-relative-path-icons branch March 31, 2026 17:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants