Skip to content

fix(influxdb3): correct broken anchors and cross-plugin README links#7471

Merged
jstirnaman merged 2 commits into
masterfrom
claude/influxdb3-plugin-link-fixes
Jul 13, 2026
Merged

fix(influxdb3): correct broken anchors and cross-plugin README links#7471
jstirnaman merged 2 commits into
masterfrom
claude/influxdb3-plugin-link-fixes

Conversation

@jstirnaman

Copy link
Copy Markdown
Contributor

Split out of #7469 (canonical rubric work) — these are pre-existing content/tooling bugs CI surfaced there, unrelated to that PR's canonical fix, so they're landing separately.

What changed

Broken anchors (2 fixes):

  • content/shared/influxdb3-get-started/setup.md: Docker image link pointed
    to #docker-image; the actual heading (content/shared/influxdb3/install.md)
    is "Pull the Docker image", slugging to #pull-the-docker-image.
  • content/shared/influxdb3-plugins/extended-plugin-api.md: two TOC entries
    pointed at wrong anchors — #maintain-state-with-in-memory-cache (missing
    "the") and #build-a-counter (should be #building-a-counter, matching
    the actual heading and a correct TOC entry elsewhere in the same file).

Cross-plugin README links (generator fix + regenerated content):

Six shared official-plugin docs link to the notifier plugin via
[influxdata/notifier plugin](../notifier/README.md) — a GitHub-relative
path that's valid when browsing influxdata/influxdb3_plugins on GitHub,
but doesn't resolve on the built docs site (Hugo doesn't publish README.md
files).

Root cause: these files are generated from upstream READMEs by
helper-scripts/influxdb3-plugins/port_to_docs.js. Its
convertRelativeLinks() only rewrote a plugin's link to its own README
(../README.md); links to a sibling plugin's README
(../<plugin>/README.md) passed through unchanged.

Fix:

  • port_to_docs.js: rewrite ../<plugin>/README.md to the sibling
    plugin's docs-v2 page, /influxdb3/version/plugins/library/official/<plugin>/
    (converting the upstream underscore_case folder to the docs-v2
    hyphen-case slug), so future syncs from upstream don't reintroduce this.
  • helper-scripts/influxdb3-plugins/README.md: document the new rule.
  • Hand-patch the 6 currently-affected generated files (state-change.md,
    prophet-forecasting.md, mad-check.md, threshold-deadman-checks.md,
    stateless-adtk-detector.md, forecast-error-evaluator.md) so the fix
    is live now, ahead of the next real sync from upstream.
  • content/shared/influxdb3-plugins/plugins-library/official/CLAUDE.md:
    document the cross-plugin link rewrite behavior and what to do if this
    class of broken link recurs, since this directory is otherwise
    "generated, do not edit directly."

Why

Both were caught by CI's "Check links in affected files" job running on
#7469 (which only touches canonical: frontmatter, so neither bug is
related to that PR's actual change) — confirmed via direct inspection that
both are pre-existing.

Impact

  • 9 previously-broken links now resolve; no new links introduced.
  • No frontmatter, template, or canonical-routing changes — purely link/anchor
    text and the generator script.
  • The generator fix prevents regression on the next real sync from
    influxdata/influxdb3_plugins, so this isn't a one-time patch that erodes.

Verification

  • npx hugo --quiet — build passes.
  • Confirmed in built HTML that all 6 plugin pages (Core and Enterprise) now
    link to the notifier page's actual site URL.
  • Verified the new port_to_docs.js regex against both the broken pattern
    (correctly rewrites) and the pre-existing own-README pattern (unaffected,
    no double-matching).
  • Same 9 broken links were confirmed fixed via fix(influxdb3): self-canonical Core/Enterprise-only shared pages #7469's CI link-check run
    once these commits landed there (prior to being split into this PR).

Checklist

  • Rebased/mergeable (branches directly off current master)
  • Local build passes (npx hugo --quiet)

Generated by Claude Code

claude added 2 commits July 11, 2026 11:24
CI's link check on PR #7469 surfaced two pre-existing anchor mismatches,
unrelated to that PR's canonical frontmatter change but in files it
touches:

- influxdb3-get-started/setup.md linked to /influxdb3/version/install/
  #docker-image; the actual heading is "Pull the Docker image", which
  slugs to #pull-the-docker-image.
- influxdb3-plugins/extended-plugin-api.md had two TOC entries pointing
  at the wrong anchor for the same headings ("in-memory-cache" missing
  "the"; "build-a-counter" instead of the real "building-a-counter"
  slug already used correctly elsewhere in the same file).

Verified via Hugo build that all three anchors now resolve to their
target heading IDs.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LeZSXxL9tXjMN331aKYBbG
CI's link check on PR #7469 found 6 broken links: shared official-plugin
docs link to the notifier plugin via a GitHub-relative path,
[influxdata/notifier plugin](../notifier/README.md), which is valid when
browsing the influxdb3_plugins repo on GitHub but doesn't resolve on the
built docs site (Hugo doesn't publish README.md files).

Root cause: these files are generated from upstream READMEs by
helper-scripts/influxdb3-plugins/port_to_docs.js, and its
convertRelativeLinks() only rewrote a plugin's link to its *own* README
(../README.md), not links to a *sibling* plugin's README
(../<plugin>/README.md). The sibling case passed through unchanged.

Fix:
- port_to_docs.js: add a pattern that rewrites
  ../<plugin>/README.md links to the sibling plugin's docs-v2 page,
  /influxdb3/version/plugins/library/official/<plugin>/ (converting the
  upstream underscore_case folder to the docs-v2 hyphen-case slug), so
  future syncs from upstream don't regress this.
- helper-scripts/influxdb3-plugins/README.md: document the new rule
  alongside the existing link-conversion rules.
- Hand-patch the 6 currently-affected generated files
  (state-change.md, prophet-forecasting.md, mad-check.md,
  threshold-deadman-checks.md, stateless-adtk-detector.md,
  forecast-error-evaluator.md) so this PR's CI passes now, ahead of the
  next real sync from upstream.
- CLAUDE.md (plugins-library/official): document the cross-plugin link
  rewrite behavior and what to do if this class of broken link recurs.

Verified via Hugo build that all 6 pages now link to the notifier page's
actual URL on both Core and Enterprise.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LeZSXxL9tXjMN331aKYBbG
@jstirnaman
jstirnaman requested a review from a team as a code owner July 11, 2026 11:31
@jstirnaman
jstirnaman requested review from sanderson and removed request for a team July 11, 2026 11:31
@github-actions

Copy link
Copy Markdown
Contributor

Vale Style Check Results

Metric Count
Errors 0
Warnings 1
Warnings (1)
File Line Rule Message
content/shared/influxdb3-plugins/plugins-library/official/CLAUDE.md 3 InfluxDataDocs.Spelling Did you really mean 'influxdata'?

Check passed

@github-actions github-actions Bot added product:shared Shared content across products product:v3-monolith InfluxDB 3 Core and Enterprise (single-node / clusterable) labels Jul 11, 2026
@github-actions

Copy link
Copy Markdown
Contributor

🔗 Link Check Results — Link Check Bot

All links are valid

Metric Value
Files Checked 16
Total Links 5225
Errors 0
Warnings 18
Success Rate 99.08134%
⚠️ 18 warning(s) (do not fail CI)
Source File URL Issue
content/influxdb3/core/get-started/setup/_index.md https://support.influxdata.com/ Network error: SSL certificate not trusted. Use --insecure if site is trusted (e…
content/influxdb3/core/plugins/extend-plugin/_index.md https://support.influxdata.com/ Network error: SSL certificate not trusted. Use --insecure if site is trusted (e…
content/influxdb3/core/plugins/library/official/forecast-error-evaluator/_index.md https://support.influxdata.com/ Network error: SSL certificate not trusted. Use --insecure if site is trusted (e…
content/influxdb3/core/plugins/library/official/mad-anomaly-detection/_index.md https://support.influxdata.com/ Network error: SSL certificate not trusted. Use --insecure if site is trusted (e…
content/influxdb3/core/plugins/library/official/prophet-forecasting/_index.md https://support.influxdata.com/ Network error: SSL certificate not trusted. Use --insecure if site is trusted (e…
content/influxdb3/core/plugins/library/official/state-change/_index.md https://support.influxdata.com/ Network error: SSL certificate not trusted. Use --insecure if site is trusted (e…
content/influxdb3/core/plugins/library/official/stateless-adtk-detector/_index.md https://support.influxdata.com/ Network error: SSL certificate not trusted. Use --insecure if site is trusted (e…
content/influxdb3/core/plugins/library/official/threshold-deadman-checks/_index.md https://support.influxdata.com/ Network error: SSL certificate not trusted. Use --insecure if site is trusted (e…
content/influxdb3/enterprise/get-started/setup/_index.md https://support.influxdata.com/ Network error: SSL certificate not trusted. Use --insecure if site is trusted (e…
content/influxdb3/enterprise/plugins/extend-plugin/_index.md https://support.influxdata.com/ Network error: SSL certificate not trusted. Use --insecure if site is trusted (e…
content/influxdb3/enterprise/plugins/library/official/forecast-error-evaluator/_index.md https://reddit.com/r/influxdb Error (cached)
content/influxdb3/enterprise/plugins/library/official/forecast-error-evaluator/_index.md https://support.influxdata.com/ Error (cached)
content/influxdb3/enterprise/plugins/library/official/mad-anomaly-detection/_index.md https://support.influxdata.com/ Network error: SSL certificate not trusted. Use --insecure if site is trusted (e…
content/influxdb3/enterprise/plugins/library/official/mad-anomaly-detection/_index.md https://reddit.com/r/influxdb Error (cached)
content/influxdb3/enterprise/plugins/library/official/prophet-forecasting/_index.md https://support.influxdata.com/ Network error: SSL certificate not trusted. Use --insecure if site is trusted (e…
content/influxdb3/enterprise/plugins/library/official/state-change/_index.md https://support.influxdata.com/ Network error: SSL certificate not trusted. Use --insecure if site is trusted (e…
content/influxdb3/enterprise/plugins/library/official/stateless-adtk-detector/_index.md https://support.influxdata.com/ Network error: SSL certificate not trusted. Use --insecure if site is trusted (e…
content/influxdb3/enterprise/plugins/library/official/threshold-deadman-checks/_index.md https://support.influxdata.com/ Network error: SSL certificate not trusted. Use --insecure if site is trusted (e…

Full details: workflow run summary and artifact. Last updated: 2026-07-11 11:34:13 UTC

@github-actions

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1

QR code for preview link

🚀 View preview at
https://influxdata.github.io/docs-v2/pr-preview/pr-7471/

Built to branch gh-pages at 2026-07-11 11:34 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

@jstirnaman
jstirnaman merged commit 0baf84e into master Jul 13, 2026
23 checks passed
@jstirnaman
jstirnaman deleted the claude/influxdb3-plugin-link-fixes branch July 13, 2026 17:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

product:shared Shared content across products product:v3-monolith InfluxDB 3 Core and Enterprise (single-node / clusterable)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants