Skip to content

docs: adopt canonical NVIDIA Fern global theme#713

Merged
johnnygreco merged 1 commit into
mainfrom
lbliii/fern-canonical-theme
May 29, 2026
Merged

docs: adopt canonical NVIDIA Fern global theme#713
johnnygreco merged 1 commit into
mainfrom
lbliii/fern-canonical-theme

Conversation

@lbliii
Copy link
Copy Markdown
Contributor

@lbliii lbliii commented May 29, 2026

What

Switches the Data Designer Fern docs site to the centrally-maintained NVIDIA Fern global theme (NVIDIA/fern-components) via global-theme: nvidia, instead of carrying its own copies of the NVIDIA branding.

With the global theme, the logo, favicon, colors, fonts, footer, base CSS/JS, layout, and theme settings are inherited from one source of truth and stay consistent with the other NeMo docs sites (Curator, Gym, etc.).

Changes

  • fern/docs.yml
    • Add global-theme: nvidia.
    • Drop the now theme-owned footer, layout, colors, theme, favicon, the Adobe/OneTrust js entry, and the logo dark/light/height.
    • Keep a partial logo: override — just href + right-text: NeMo Data Designer (the theme defaults right-text to "Documentation"). Mirrors the Curator/Gym pattern.
    • Keep the GitHub link in the top bar (navbar-links) — the theme does not provide one.
    • Keep DataDesigner-specific product CSS (main.css, styles/*.css) and the custom MDX components (experimental.mdx-components), plus child-owned instances/title/versions/redirects.
  • Remove orphaned local branding now provided by the theme: assets/NVIDIA_{dark,light,symbol}.svg and components/CustomFooter.tsx.
  • fern/fern.config.json: bump the Fern CLI pin 5.24.0 → 5.41.1 for global-theme support (siblings using the theme pin ≥5.29).
  • fern/README.md: document the global theme and point branding changes to the fern-components repo.

Validation

  • fern check0 errors (135 warnings are the pre-existing broken-link false positives).
  • Local fern docs dev renders HTTP 200 with the GitHub link, footer, right-text, and product/component styling intact.

Reviewer note

fern docs dev only previews this repo's own docs.yml — the global theme is fetched and merged server-side at publish. Please confirm on the Fern PR preview deploy that the NVIDIA logo/fonts/footer, the GitHub top-bar link, and product styling all render as expected before merging.

🤖 Generated with Claude Code

Switch the Data Designer docs site to the centrally-maintained NVIDIA
Fern global theme (https://github.com/NVIDIA/fern-components) via
`global-theme: nvidia`, so logo, favicon, colors, fonts, footer, base
CSS/JS, and layout are inherited instead of duplicated here.

- docs.yml: add `global-theme: nvidia`; drop the now theme-owned
  `footer`, `layout`, `colors`, `theme`, `favicon`, Adobe/OneTrust `js`,
  and logo SVG/height. Keep a partial `logo:` override (href +
  `right-text: NeMo Data Designer`, since the theme defaults to
  "Documentation"), the GitHub navbar link, DataDesigner product CSS,
  and the custom MDX components.
- Remove orphaned local branding now provided by the theme:
  NVIDIA_{dark,light,symbol}.svg and components/CustomFooter.tsx.
- fern.config.json: bump CLI pin to 5.41.1 (global-theme support;
  matches sibling NeMo docs repos).
- README: document the global theme and where to change branding.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Signed-off-by: Lawrence Lane <llane@nvidia.com>
@lbliii lbliii requested a review from a team as a code owner May 29, 2026 16:08
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps Bot commented May 29, 2026

Greptile Summary

This PR adopts the centrally-maintained global-theme: nvidia in fern/docs.yml, delegating logo, favicon, colors, fonts, footer, layout, and the Adobe/OneTrust JS to the shared NVIDIA Fern theme, and removes all the now-redundant local copies. The Fern CLI pin is bumped from 5.24.0 to 5.41.1 to enable global-theme support.

  • fern/docs.yml: Adds global-theme: nvidia; drops theme-owned footer, layout, colors, theme, favicon, js, and logo dark/light/height; keeps a minimal logo: override (href + right-text) and the GitHub navbar link that the theme doesn't provide.
  • Deleted files: CustomFooter.tsx and the three NVIDIA_*.svg assets are fully removed, with no remaining references anywhere in the repo.
  • fern/README.md: Updated to document the global theme and the correct place to change shared branding.

Confidence Score: 5/5

Clean docs-infrastructure change with no remaining references to deleted assets; safe to merge once the Fern preview deploy confirms the global theme renders correctly.

All deleted files (three SVGs and CustomFooter.tsx) have no remaining references in the repo. The docs.yml changes are well-scoped — only theme-owned fields are removed and DataDesigner-specific overrides (logo.href, logo.right-text, CSS, GitHub navbar link) are retained. The CLI version bump aligns with sibling repos already using the global theme. No logic or correctness issues found.

No files require special attention. The Fern PR preview deploy is the right place to verify that the global theme delivers the expected logo, footer, fonts, and Adobe/OneTrust JS.

Important Files Changed

Filename Overview
fern/docs.yml Adopts global-theme: nvidia, drops theme-owned footer/layout/colors/CSS/JS/favicon/logo assets, keeps DataDesigner-specific logo override and navbar GitHub link.
fern/fern.config.json Bumps the Fern CLI pin from 5.24.0 to 5.41.1 to enable global-theme support.
fern/components/CustomFooter.tsx Deleted — footer is now owned by the global theme; no remaining references in the codebase.
fern/assets/NVIDIA_dark.svg Deleted — logo SVGs are now provided by the global theme.
fern/README.md Documents the global theme adoption, updates the directory tree, and directs shared branding changes to fern-components.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[fern/docs.yml] -->|global-theme: nvidia| B[NVIDIA Fern Global Theme fern-components repo]
    B -->|provides| C[Logo SVGs and favicon]
    B -->|provides| D[Colors, fonts, layout]
    B -->|provides| E[Footer]
    B -->|provides| F[Adobe/OneTrust JS]
    A -->|overrides only| G[logo.href + right-text: NeMo Data Designer]
    A -->|keeps| H[GitHub navbar link]
    A -->|keeps| I[DataDesigner CSS]
    A -->|keeps| J[MDX components]
Loading

Reviews (1): Last reviewed commit: "docs: adopt canonical NVIDIA Fern global..." | Re-trigger Greptile

@github-actions
Copy link
Copy Markdown
Contributor

MkDocs preview: https://928de016.dd-docs-preview.pages.dev

Fern preview: https://nvidia-preview-pr-713.docs.buildwithfern.com/nemo/datadesigner

Fern previews include the docs-website version archive with PR changes synced into latest. Notebook tutorials are rendered without execution outputs in previews.

@github-actions
Copy link
Copy Markdown
Contributor

Code Review: PR #713docs: adopt canonical NVIDIA Fern global theme

Summary

Switches the Fern docs site to the centrally-maintained NVIDIA Fern global theme (global-theme: nvidia), eliminating ~220 lines of locally-vendored branding (logo SVGs, custom footer component, Adobe DTM JS entry, footer/layout/colors/theme blocks). Keeps DataDesigner-specific overrides (logo href/right-text, GitHub navbar link, product CSS, custom MDX components) and bumps fern.config.json 5.24.0 → 5.41.1 to enable global-theme support. Net diff: +23/−223. Mirrors the pattern already in use by sibling NeMo docs (Curator, Gym).

This is a well-scoped, low-risk docs-only change. The PR description is unusually thorough and the validation steps are appropriate.

Findings

Strengths

  • Single source of truth. Pulling branding from NVIDIA/fern-components ensures the DataDesigner site stays visually consistent with Curator/Gym automatically when the central theme changes. Removes a real maintenance burden (three vendored SVGs + a 96-line footer component duplicating central markup).
  • Right amount of override. The partial logo: override (just href + right-text) is the minimum needed to keep the product-specific link target and label while inheriting the SVGs/height. The inline comment explaining why the override exists ("theme hardcodes logo.right-text: Documentation") is helpful.
  • Comments in docs.yml are well-placed. Each remaining block (global-theme, logo override, css, navbar-links) now has a one-line comment explaining why it's there or what it overrides. This is exactly the kind of doc-as-config-comment that keeps future maintainers from reverting things.
  • README updated in lockstep. The "Theme" section, the structure diagram, and the component list are all updated consistently. No stale references to CustomFooter.tsx left behind.
  • Reviewer note is honest. Flagging that fern docs dev does not preview the merged global theme (it only fetches server-side at publish) prevents a false sense of validation. The ask to verify on the Fern PR preview deploy is the right gate.

Concerns / suggestions (non-blocking)

  1. main.css still contains base NVIDIA branding tokens. The README now says main.css is "DataDesigner-specific CSS," but the file is still 871 lines and contains 46 references to --nv-color-* / --nv-light-grey-* / --nv-dark-grey-* variables, plus base :root, h1h6, and main rules. If the global theme also defines similar variables/base typography, you'll either have silent overrides locally or two sources defining the same tokens. Worth a follow-up audit to either:

    • delete the rules now provided by the theme, or
    • rename product-specific tokens to a --dd-* prefix to avoid collision.

    Acceptable to defer (this PR is already well-scoped), but the README claim is currently slightly aspirational vs. the file contents.

  2. Adobe DTM / OneTrust assumption. The PR description states the Adobe launch-*.min.js entry is "now theme-owned." Worth a quick confirmation against NVIDIA/fern-components that the analytics/consent JS is actually injected by the global theme — if not, this is a silent regression in compliance instrumentation (cookie banner, page tracking) that wouldn't show up in fern check and wouldn't be obvious in the preview deploy without specifically inspecting the network panel.

  3. CLI version jump (5.24.0 → 5.41.1) is large. ~17 minor versions between pins. The PR description notes that siblings pin ≥5.29 (which would have been sufficient for global-theme). Pinning to 5.41.1 is fine, but worth being aware that any new CLI behaviors or stricter checks introduced between 5.29 and 5.41 will land at the same time. The 135 pre-existing broken-link warnings from fern check make it harder to spot any new warnings introduced by the CLI bump — consider a quick before/after warning-count diff in the preview build.

  4. Favicon entry removed without explicit replacement. Confirmed that favicon: ./assets/NVIDIA_symbol.svg is dropped on the assumption the theme provides one. If the theme's default favicon doesn't render, the site will fall back to a browser default rather than something obviously broken — easy to miss visually. Worth checking the favicon explicitly on the preview tab.

Nits

  • right-text: NeMo Data Designer — fine, but worth confirming it doesn't visually wrap or get truncated at narrow viewports given the theme's logo width settings (the previous height: 20 constraint is now theme-controlled).
  • The deleted CustomFooter.tsx had Copyright © {currentYear}, NVIDIA Corporation. — verify the global theme footer also produces a current-year copyright (most do, but some hardcode a year).

Test Coverage

N/A — docs-only change. Validation is correctly scoped to fern check and the Fern PR preview deploy. The reviewer note explicitly calls out the items to verify visually (logo, fonts, footer, GitHub link, product styling).

Security Considerations

  • Removing the inline Adobe DTM script tag is neutral-to-positive from a CSP/supply-chain standpoint if the global theme injects the equivalent. If it doesn't, see concern (2).
  • No code execution paths or data handling changed. No new dependencies pulled in beyond the Fern CLI version bump.

Verdict

Looks good — recommend merge after the Fern preview-deploy check called out in the PR description. The change is correctly scoped, well-documented, and removes real duplication. The follow-up items above (esp. main.css cleanup and Adobe analytics confirmation) can be tracked separately and don't block this merge.

@lbliii lbliii requested a review from johnnygreco May 29, 2026 16:14
@johnnygreco johnnygreco merged commit f8599e2 into main May 29, 2026
63 checks passed
johnnygreco pushed a commit that referenced this pull request May 29, 2026
Reverts #713. Under global-theme: nvidia, Fern treats `css` as a
theme-owned field and replaces the child repo's `css:` list at publish,
so DataDesigner's product stylesheets (blog-card, authors,
notebook-viewer, metrics-table, trajectory-viewer, main) stopped loading
and the dev-notes layouts collapsed to unstyled HTML.

Temporary hotfix: restore the self-hosted theme + product CSS so the
dev-notes render correctly. Re-land the canonical theme later once the
product CSS is injected via components or merged into the theme repo.

Signed-off-by: Lawrence Lane <llane@nvidia.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
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