fix(influxdb3): correct broken anchors and cross-plugin README links#7471
Merged
Conversation
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
Contributor
Vale Style Check Results
Warnings (1)
✅ Check passed |
Contributor
🔗 Link Check Results — Link Check Bot✅ All links are valid
|
| 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
Contributor
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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 pointedto
#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 entriespointed at wrong anchors —
#maintain-state-with-in-memory-cache(missing"the") and
#build-a-counter(should be#building-a-counter, matchingthe 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-relativepath that's valid when browsing
influxdata/influxdb3_pluginson GitHub,but doesn't resolve on the built docs site (Hugo doesn't publish
README.mdfiles).
Root cause: these files are generated from upstream READMEs by
helper-scripts/influxdb3-plugins/port_to_docs.js. ItsconvertRelativeLinks()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.mdto the siblingplugin's docs-v2 page,
/influxdb3/version/plugins/library/official/<plugin>/(converting the upstream
underscore_casefolder to the docs-v2hyphen-caseslug), so future syncs from upstream don't reintroduce this.helper-scripts/influxdb3-plugins/README.md: document the new rule.state-change.md,prophet-forecasting.md,mad-check.md,threshold-deadman-checks.md,stateless-adtk-detector.md,forecast-error-evaluator.md) so the fixis 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 isrelated to that PR's actual change) — confirmed via direct inspection that
both are pre-existing.
Impact
text and the generator script.
influxdata/influxdb3_plugins, so this isn't a one-time patch that erodes.Verification
npx hugo --quiet— build passes.link to the notifier page's actual site URL.
port_to_docs.jsregex against both the broken pattern(correctly rewrites) and the pre-existing own-README pattern (unaffected,
no double-matching).
once these commits landed there (prior to being split into this PR).
Checklist
master)npx hugo --quiet)Generated by Claude Code