Skip to content

Fix broken internal links#650

Merged
kenhys merged 1 commit into
fluent:1.0from
Watson1978:fix-broken-internal-links
Jul 27, 2026
Merged

Fix broken internal links#650
kenhys merged 1 commit into
fluent:1.0from
Watson1978:fix-broken-internal-links

Conversation

@Watson1978

@Watson1978 Watson1978 commented Jul 26, 2026

Copy link
Copy Markdown
Contributor

Summary

Audited all 206 markdown files (2,774 links) plus the 177 redirects in .gitbook.yaml, and fixed every internal link that does not resolve — 63 links across 14 files, 3 redirects, and one new file.

External URLs are deliberately out of scope here; they need per-URL investigation for replacements and will be sent as a separate PR.

Path fixes (56)

Where Problem Fix
installation/install-calyptia-fluentd/*.md (51 links) These four install guides live one directory deeper than the links assume, so every relative link is short by one level. Add one ../. This matches the sibling install-fluent-package/ guides, which already use ../../configuration/config-file.md and ../before-install.md.
installation/install-fluent-package/install-by-dmg-fluent-package.md (1) Same problem on the link to install-by-gem.md; the other guides in that directory already use ../install-by-gem.md. ../install-by-gem.md
installation/install-by-{deb,rpm}-td-agent-v4.md (2) Points at ../quickstart/td-agent-v2-vs-v3-vs-v4.md, but that page is in appendix/. ../appendix/td-agent-v2-vs-v3-vs-v4.md
how-to-guides/apache-to-s3.md (1) ../output/s3 is missing the .md extension. ../output/s3.md
how-to-guides/http-to-td.md (1) ../installation/post-installation-guide#plugin-management is missing the .md extension. ../installation/post-installation-guide.md#plugin-management

New file (1)

SUMMARY.md lists * [Appendix](appendix/README.md), but that file does not exist, so the Appendix section has no landing page. Added appendix/README.md with a short introduction and links to the two articles it contains.

Anchor fixes (7)

These were verified against the id attributes actually rendered on docs.fluentd.org, not against a local build — honkit generates heading anchors by different rules than GitBook does, so a local build cannot be used to check them.

Where Old New
deployment/system-config.md source-only-mode.md#Recovery source-only-mode.md#recovery
output/forward.md (2 links) ../input/forward.md#how-to-enable-tls/ssl-encryption ../input/forward.md#how-to-enable-tls-encryption
configuration/config-file.md config-file.md#5.-group-filter-and-output-the-label-directive config-file.md#id-5.-group-filter-and-output-the-label-directive
filter/README.md ../plugin-development/#filter-plugins ../plugin-development/api-plugin-filter.md
formatter/README.md ../plugin-development/#text-formatter-plugins ../plugin-development/api-plugin-formatter.md

The heading in input/forward.md is now "How to Enable TLS Encryption", so the old tls/ssl anchor no longer exists. The "Filter Plugins" and "Text Formatter Plugins" sections were removed from plugin-development/README.md and are now separate pages, so those two links point at the pages instead of at anchors that no longer exist.

GitBook prefixes id- to anchors generated from headings that start with a digit, so the id of "5. Group filter and output: the label directive" is id-5.-group-filter-and-output-the-label-directive. GitBook's own on-page table of contents links to it that way, but the markdown link in the body did not. It is the only link in the repository affected.

Redirect fixes in .gitbook.yaml (3)

Most redirect targets name paths that no longer exist in the repository, but GitBook tracks those file moves internally and resolves them anyway — for example v1.0/articles/in_http still points at plugins/input/http.md and correctly lands on /input/http. I checked all 177 against the live site; three of them return 404, because those pages were never at the recorded path for GitBook to track (plugins/output/opensearch.md and developer/api-plugin-helper-metrics.md have no history at all, and plugins/formatter/tsv.md was deleted and re-added, which broke the chain).

Redirect Old target New target
v1.0/articles/out_opensearch plugins/output/opensearch.md output/opensearch.md
v1.0/articles/formatter_tsv plugins/formatter/tsv.md formatter/tsv.md
v1.0/articles/api-plugin-helper-metrics developer/api-plugin-helper-metrics.md plugin-helper-overview/api-plugin-helper-metrics.md

The remaining 174 redirects resolve correctly and are left untouched.

Verification

Three independent checks:

  1. Source analysis — resolve every link target against the working tree (code blocks and inline code spans excluded). 58 unresolved before, 1 after (see below).
  2. honkit build crawl — honkit build and walk every href/src in the output. 47,503 relative links, 0 unresolved.
  3. Live-site check — fetch each target page from docs.fluentd.org and compare against the real id values, and request every redirect source. 110 anchor-bearing links, 7 broken before, 0 after; 177 redirects, 4 broken before, 1 after (see below).

codespell passes.

Deliberately left for a follow-up PR

plugins/input/dummy.md is the only file left under plugins/. It is not listed in SUMMARY.md, so GitBook does not publish it, which is why v1.0/articles/in_dummy returns 404 — and its own link to /input/sample.md is a root-absolute path that does not resolve. in_dummy was renamed in_sample in v1.11.12 but the plugin still ships, so the page should move to input/dummy.md and be added to the TOC rather than be dropped. That is a file move plus a SUMMARY.md change, so it is kept out of this PR to avoid conflicts.

Also out of scope

  • 12 external URLs (21 occurrences) are broken or redirected. Separate PR.
  • 5 http://localhost:* links are operational examples inside walkthroughs, not navigation.

🤖 Generated with Claude Code

Audited all 206 markdown files (2,774 links) plus the redirects in
.gitbook.yaml, and fixed every internal link that does not resolve.
External URLs are out of scope here and will be handled separately.

Path fixes:

* installation/install-calyptia-fluentd/: the four install guides live
  one directory deeper than the links assume, so `../` was missing one
  level (51 links). Now matches the sibling install-fluent-package/
  guides, which already use `../../` and `../before-install.md`.
* installation/install-fluent-package/install-by-dmg-fluent-package.md:
  same problem on the link to install-by-gem.md.
* installation/install-by-{deb,rpm}-td-agent-v4.md: the td-agent version
  comparison page is in appendix/, not quickstart/.
* how-to-guides/apache-to-s3.md, how-to-guides/http-to-td.md: missing
  `.md` extension.
* appendix/README.md: SUMMARY.md listed this file but it did not exist,
  so the Appendix section had no landing page. Added one.

Anchor fixes, verified against the ids actually rendered on
docs.fluentd.org:

* deployment/system-config.md: `#Recovery` -> `#recovery`.
* output/forward.md: `#how-to-enable-tls/ssl-encryption` ->
  `#how-to-enable-tls-encryption` (2 links); the heading in
  input/forward.md is "How to Enable TLS Encryption".
* configuration/config-file.md: GitBook prefixes `id-` to anchors
  generated from headings that start with a digit, so the id of
  "5. Group filter and output: the label directive" is
  `id-5.-group-filter-and-output-the-label-directive`. This is the only
  link in the repository affected.
* filter/README.md, formatter/README.md: the "Filter Plugins" and "Text
  Formatter Plugins" sections no longer exist in
  plugin-development/README.md. Point at api-plugin-filter.md and
  api-plugin-formatter.md instead.

Redirect fixes in .gitbook.yaml:

Most redirect targets name paths that no longer exist in the repository,
but GitBook tracks those file moves internally and resolves them anyway.
Three do not, because the pages were never at the recorded path, so the
old URLs return 404. Point them at the current paths:

* v1.0/articles/out_opensearch -> output/opensearch.md
* v1.0/articles/formatter_tsv -> formatter/tsv.md
* v1.0/articles/api-plugin-helper-metrics ->
  plugin-helper-overview/api-plugin-helper-metrics.md

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Signed-off-by: Shizuo Fujita <fujita@clear-code.com>
@Watson1978
Watson1978 force-pushed the fix-broken-internal-links branch from d438e45 to f70d7e0 Compare July 26, 2026 06:43
@Watson1978
Watson1978 requested a review from kenhys July 27, 2026 01:23
@kenhys
kenhys merged commit f3b17ad into fluent:1.0 Jul 27, 2026
2 checks passed
@Watson1978
Watson1978 deleted the fix-broken-internal-links branch July 27, 2026 03:04
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