Skip to content

fix(docs): repair Starter kits redirect loop breaking docs.nvidia.com links after PR 2195#2266

Merged
kheiss-uwzoo merged 2 commits into
NVIDIA:mainfrom
kheiss-uwzoo:fix/docs-notebooks-redirect-loop
Jun 24, 2026
Merged

fix(docs): repair Starter kits redirect loop breaking docs.nvidia.com links after PR 2195#2266
kheiss-uwzoo merged 2 commits into
NVIDIA:mainfrom
kheiss-uwzoo:fix/docs-notebooks-redirect-loop

Conversation

@kheiss-uwzoo

Copy link
Copy Markdown
Collaborator

Summary

Fixes broken Starter kits / Notebooks links on docs.nvidia.com after PR #2195 consolidated integration docs.

PR #2195 correctly removed standalone pages and added mkdocs-redirects entries, but two redirect targets pointed at extraction/notebooks/index.md. The redirects plugin treats index.md and the built index.html as the same output path, so redirect stubs overwrote the real Starter kits page with a self-redirect (url=./). Browsers then loop forever on /extraction/notebooks/.

This PR moves the canonical page to extraction/starter-kits.md and points legacy URLs at that page instead of notebooks/index.md.

Problem (live site today)

Verified on https://docs.nvidia.com/nemo/retriever/26.5.0/extraction/overview/ after the automated docs.nvidia.com publish:

Link Symptom HTTP status
Related Topics → Notebooks Infinite redirect (Redirecting..., url=./) 200 (misleading)
Related Topics → Integrations (older deploy) Redirects to notebooks, then loops 200
Sidebar → Custom metadata Stale pre-#2195 page still on S3 200 (wrong content)

HTTP 200 alone is not sufficient — the notebooks path is unusable in a browser.

Root cause: mkdocs-redirects issue class documented in mkdocs/mkdocs-redirects#24 and #36do not redirect to a nested index.md that is also the canonical build output.

PR #2195 redirect map (broken):

extraction/notebooks.md: extraction/notebooks/index.md
extraction/integrations-langchain-llamaindex-haystack.md: extraction/notebooks/index.md

Fix

  1. Move extraction/notebooks/index.mdextraction/starter-kits.md (matches nav label "Starter kits" from remove custom-metadata.md; canonical path is vdbs + notebooks #2195).
  2. Update nav and internal links to use starter-kits.md.
  3. Retarget redirects to extraction/starter-kits.md (safe — not an index collision):
extraction/notebooks/index.md: extraction/starter-kits.md
extraction/notebooks.md: extraction/starter-kits.md
extraction/integrations-langchain-llamaindex-haystack.md: extraction/starter-kits.md

Local mkdocs build result after fix:

  • /extraction/starter-kits/ — full content page
  • /extraction/notebooks/ — redirect → ../starter-kits/
  • /extraction/integrations-langchain-llamaindex-haystack/ — redirect → ../starter-kits/
  • /extraction/custom-metadata/ — redirect → ../vdbs/#metadata-and-filtering (unchanged; republish will replace stale S3 copy)

After merge

Run NRL documentation — docs.nvidia.com publish (live) so aws s3 sync --delete replaces stale custom-metadata/ HTML and refreshes overview/nav from current main.

Test plan

  • mkdocs build -f docs/mkdocs.yml --strict locally — no redirect-target warnings
  • Built /extraction/starter-kits/index.html contains page content (not redirect stub)
  • Built /extraction/notebooks/index.html redirects to ../starter-kits/
  • Built /extraction/integrations-langchain-llamaindex-haystack/index.html redirects to ../starter-kits/
  • After merge + docs.nvidia.com publish: verify overview Related Topics links work in browser
  • Confirm stale custom-metadata/ page replaced by redirect to vdbs/#metadata-and-filtering

Related

Move notebooks index to extraction/starter-kits.md so mkdocs-redirects legacy entries no longer overwrite notebooks/index.html with a self-redirect. Fixes broken Notebooks and Integrations links from the overview page after PR 2195.
@kheiss-uwzoo kheiss-uwzoo marked this pull request as ready for review June 24, 2026 20:10
@kheiss-uwzoo kheiss-uwzoo requested review from a team as code owners June 24, 2026 20:10
@kheiss-uwzoo kheiss-uwzoo requested a review from jioffe502 June 24, 2026 20:10
@greptile-apps

greptile-apps Bot commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR fixes a self-redirect loop on /extraction/notebooks/ that was introduced by PR #2195, where two mkdocs-redirects entries pointed at extraction/notebooks/index.md — a path that collides with the page's own build output, causing redirect stubs to overwrite the real content with url=./.

  • Renames extraction/notebooks/index.mdextraction/starter-kits.md, moving the canonical page out of the index.md collision path, and updates the H1 heading and all relative links for the new location.
  • Retargets all three redirect entries (notebooks/index.md, notebooks.md, integrations-langchain-llamaindex-haystack.md) to extraction/starter-kits.md, and updates every internal cross-link and the nav entry across six markdown files.

Confidence Score: 5/5

Safe to merge — documentation-only change that resolves a live redirect loop with no impact on code or APIs.

All changes are confined to markdown files and mkdocs.yml. The redirect map is correctly retargeted away from the index.md collision, relative links in the renamed file have been updated for the new directory depth, and all six cross-linking files have been updated consistently.

No files require special attention.

Important Files Changed

Filename Overview
docs/mkdocs.yml Redirect map fixed: extraction/notebooks/index.md and extraction/notebooks.md now correctly point to extraction/starter-kits.md, avoiding the index.md collision. Nav entry also updated.
docs/docs/extraction/starter-kits.md Renamed from notebooks/index.md; H1 updated to 'Starter Kits for NeMo Retriever Library'; relative links corrected from ../../ prefix to ../ (one level shallower from the new location).
docs/docs/extraction/overview.md Both Notebooks links retargeted to starter-kits.md; link text on line 52 still reads 'Notebooks' rather than 'Starter kits'.
docs/docs/extraction/agentic-retrieval-concept.md Single link updated from notebooks/index.md to starter-kits.md; no issues.
docs/docs/extraction/concepts.md Link retargeted to starter-kits.md; link text 'Jupyter examples' retained (minor label drift from page title).
docs/docs/extraction/deployment-options.md Link retargeted to starter-kits.md; link text 'Jupyter Notebooks' retained (minor label drift from page title).
docs/docs/extraction/getting-started-about.md Link retargeted to starter-kits.md; link text 'Jupyter Notebooks' retained.
docs/docs/extraction/workflow-e2e-blueprints.md Link retargeted to starter-kits.md; link text 'Starter kits' already matches the new page title.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    subgraph Before["Before (broken — PR #2195)"]
        A1["/extraction/notebooks/"] -->|redirect stub overwrites| B1["notebooks/index.html\n(url=./)"]
        B1 -->|self-redirect loop| B1
        C1["notebooks.md"] -->|redirect| B1
        D1["integrations-langchain-llamaindex-haystack.md"] -->|redirect| B1
    end
    subgraph After["After (this PR)"]
        A2["/extraction/notebooks/"] -->|redirect → ../starter-kits/| E2["/extraction/starter-kits/\n(real content)"]
        C2["notebooks.md"] -->|redirect| E2
        D2["integrations-langchain-llamaindex-haystack.md"] -->|redirect| E2
    end
Loading
%%{init: {'theme': 'base', 'themeVariables': {"darkMode": true, "background": "#0d1117", "primaryColor": "#21262d", "primaryTextColor": "#e6edf3", "primaryBorderColor": "#8b949e", "lineColor": "#8b949e", "textColor": "#e6edf3", "edgeLabelBackground": "#161b22", "actorBkg": "#21262d", "actorBorder": "#8b949e", "actorTextColor": "#e6edf3", "actorLineColor": "#8b949e", "signalColor": "#8b949e", "signalTextColor": "#e6edf3", "noteBkgColor": "#373320", "noteBorderColor": "#d4a72c", "noteTextColor": "#f0e6c0", "labelBoxBkgColor": "#21262d", "labelBoxBorderColor": "#8b949e", "labelTextColor": "#e6edf3", "loopTextColor": "#e6edf3", "activationBkgColor": "#30363d", "activationBorderColor": "#8b949e"}}}%%
flowchart TD
    subgraph Before["Before (broken — PR #2195)"]
        A1["/extraction/notebooks/"] -->|redirect stub overwrites| B1["notebooks/index.html\n(url=./)"]
        B1 -->|self-redirect loop| B1
        C1["notebooks.md"] -->|redirect| B1
        D1["integrations-langchain-llamaindex-haystack.md"] -->|redirect| B1
    end
    subgraph After["After (this PR)"]
        A2["/extraction/notebooks/"] -->|redirect → ../starter-kits/| E2["/extraction/starter-kits/\n(real content)"]
        C2["notebooks.md"] -->|redirect| E2
        D2["integrations-langchain-llamaindex-haystack.md"] -->|redirect| E2
    end
Loading

Reviews (2): Last reviewed commit: "fix(docs): align starter-kits H1 with na..." | Re-trigger Greptile

Comment thread docs/docs/extraction/starter-kits.md Outdated
Rename page heading to Starter Kits for NeMo Retriever Library so it matches the sidebar entry and /extraction/starter-kits/ URL.
Comment thread docs/docs/extraction/starter-kits.md
@kheiss-uwzoo kheiss-uwzoo merged commit 85b490a into NVIDIA:main Jun 24, 2026
10 checks passed
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