Commit 0be1724
authored
docs: fix 14 broken links and stale talm anchor across v1 docs (#486)
## What
Fixes 14 broken links in the v1 docs tree found by an automated pass:
static validation of every `{{% ref %}}` / `{{% relref %}}` shortcode
target plus a lychee offline check of raw markdown links. 11 files
touched, two logical groups of fixes.
**Group 1 — `{{% ref %}}` shortcodes written without a leading slash (8
fixes, 6 files):**
A ref written as `ref "docs/v1/foo"` (no leading `/`) is treated by Hugo
as *relative to the calling page*, so Hugo resolves it to
`docs/v1/docs/v1/foo`, which never exists. The rest of the v1 docs use
the absolute form `ref "/docs/v1/foo"`. Normalize the outliers:
- `install/providers/hetzner.md` — 2 refs (one also had a stale anchor,
see below)
- `operations/services/_index.md` — 2 refs
- `guides/concepts.md` — 2 refs
- `operations/services/monitoring/dashboards.md` — 3 refs
- `operations/services/monitoring/alerting.md` — 1 ref
- `operations/services/monitoring/logs.md` — 3 refs
**Stale anchor inside `hetzner.md`:** the Hetzner install guide linked
readers at `talm#1-initialize-cluster-configuration`, but Talm's guide
has since grown a new `## 1. Install Dependencies` section ahead of
"Initialize Cluster Configuration", which is now `## 2.`. Update the
anchor to `#2-initialize-cluster-configuration`.
**Group 2 — plain markdown links (6 fixes, 5 files):**
- `operations/oidc/enable_oidc.md` → `[Self-Signed
Certificates](../self-signed-certificates/)`: resolves to
`operations/self-signed-certificates` (one directory above where the
file lives). Target file is
`operations/oidc/self-signed-certificates.md`, so use
`./self-signed-certificates/`.
- `operations/oidc/self-signed-certificates.md` → two mirror-image
breakages: `../enable_oidc/` and `../users_and_roles/` both point one
level too high. Use `./enable_oidc/` and `./users_and_roles/`.
- `virtualization/vm-instance.md` → `./DEVELOPMENT.md` is a dangling
relative link to a file that does not exist in `content/`. Replace with
the real Developer Guide at `/docs/v1/development/`.
- `operations/faq/_index.md` → `/docs/operations/troubleshooting/` is
missing the `/v1/` segment and points at a non-existent legacy path. Add
`/v1/`.
- `install/providers/servers-com/_index.md` →
`/docs/getting-started/install-cozystack` has the same missing `/v1/`
segment. Add `/v1/`.
## Why
All 14 are real broken links on the live site right now. None of them
produce a Hugo build error (Hugo's default `refLinksErrorLevel` is
`warning`, and plain markdown link resolution happens at browser time,
not build time), which is why they accumulated unnoticed. Every broken
link costs readers trust and routes them to 404s or to wrong pages.
## Verification
- Wrote a Python walker that enumerates every `{{% ref %}}`/`{{% relref
%}}` target in `content/en/docs/v1/` and tries to resolve it against the
filesystem — after this PR it reports **0 missing targets** (down from
8).
- Ran `lychee --offline` on `content/en/docs/v1/**/*.md` before and
after. False positives for `/img/...` absolute paths and for Hugo-routed
absolute paths like `/docs/v1/development/` (where a page exists but
lychee does not know Hugo's routing) were filtered manually by
cross-checking each finding against the actual filesystem. After the
fixes, the remaining lychee "errors" are all confirmed false positives
(static asset paths and Hugo-routed pages that do exist).
- `hugo` builds cleanly (440 pages, no ref warnings) both before and
after.
- Every replacement was spot-checked against the real target file
existing on disk.
## Out of scope
- `lychee` also flagged a large number of `/img/...` absolute image
paths as broken, but those are all false positives — `/img/` is a static
asset root, Hugo serves it via `static/img/`, and the rendered pages on
the live site show the images correctly.
- `markdownlint` across the v1 tree surfaced many style-only issues
(MD030, MD012, MD033, MD034 bare URLs, MD040 missing code-block
language) that are pre-existing and mostly in auto-generated
`content/en/docs/v1/applications/*.md` files (which are regenerated from
upstream `cozystack/cozystack` READMEs). Those should be fixed in the
upstream READMEs, not here.
<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit
* **Documentation**
* Normalized internal documentation links and cross-references across
multiple guides and reference pages to use consistent,
versioned/absolute paths. This improves navigation reliability and
prevents broken or ambiguous links in concept, install, operations, and
virtualization docs.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->6 files changed
Lines changed: 7 additions & 7 deletions
File tree
- content/en/docs/v1.2
- install/providers
- servers-com
- operations
- faq
- oidc
- virtualization
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
161 | 161 | | |
162 | 162 | | |
163 | 163 | | |
164 | | - | |
| 164 | + | |
165 | 165 | | |
166 | 166 | | |
167 | 167 | | |
| |||
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
231 | 231 | | |
232 | 232 | | |
233 | 233 | | |
234 | | - | |
| 234 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
| 12 | + | |
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
82 | 82 | | |
83 | 83 | | |
84 | 84 | | |
85 | | - | |
| 85 | + | |
86 | 86 | | |
87 | 87 | | |
88 | 88 | | |
| |||
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
15 | | - | |
| 15 | + | |
16 | 16 | | |
17 | 17 | | |
18 | 18 | | |
| |||
184 | 184 | | |
185 | 185 | | |
186 | 186 | | |
187 | | - | |
| 187 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
186 | 186 | | |
187 | 187 | | |
188 | 188 | | |
189 | | - | |
| 189 | + | |
190 | 190 | | |
191 | 191 | | |
192 | 192 | | |
| |||
0 commit comments