Z105-absolute-path — Percorso Assoluto
Z-Code: Z105 ABSOLUTE_PATH · Engine: standalone · Exit: 1
Il Fixture
Il fixture si trova in examples/z105-absolute-path/ nel repository Zenzic.
Contiene un solo documento:
| File | Ruolo |
|---|---|
docs/index.md | Sorgente — contiene [Guide](/guide) alla riga 10 |
.zenzic.toml | Engine: standalone, fail_under = 0 |
docs/index.md punta a /guide tramite un percorso assoluto. I percorsi assoluti
vengono risolti dalla root del server: quando un sito è ospitato in una sottodirectory
(ad es. https://example.com/my-docs/), il link /guide si risolve in
https://example.com/guide — non in https://example.com/my-docs/guide.
Questa risoluzione silenziosa rende la documentazione non portabile tra ambienti di
hosting differenti, come GitHub Pages (project site) o subdirectory CDN.
Eseguire l'Esempio
# Clona il repository Zenzic — nessuna installazione aggiuntiva richiesta
cd examples/z105-absolute-path
uvx zenzic check links
Expected output:
standalone - 1 file (1 docs, 0 assets) - 0.0s - 65 files/s
docs/index.md:10:2 x [Z105] '/guide' uses an absolute path — use a relative
path (e.g. '../' or './') instead; absolute paths break portability when the
site is hosted in a subdirectory
8 │ ## Absolute Path Link
9 │
10 ❱ - [Guide](/guide) — uses `/guide` (absolute) instead of `guide.md`
(relative) → **Z105**
│ ^^^^^^^^^^^^^^^
11 │
12 │ ## What Zenzic Reports
────────────────────────────────────────────────────────────────────────────────
Summary: x 1 error ! 0 warnings i 0 info - 1 file with findings
FAILED: Hard errors detected. Exit code 1 is mandatory.
Refer to https://zenzic.dev/docs/reference/finding-codes for remediation · Try
'zenzic check --help' for options.
[ Suppression Audit: 0/30 (inline: 0, per-file: 0)
Exit code: 1
Interpretare l'Output
Il codice di errore Z105 indica un problema di tipo ABSOLUTE_PATH.
Questo errore o avviso viene generato da Zenzic quando un link utilizza un percorso assoluto (che inizia con / o punta a un percorso di sistema completo) invece di un percorso relativo. Questo viola i vincoli di portabilità, causando errori di rendering quando la documentazione viene pubblicata su sottopercorsi diversi. In questo esempio specifico:
- Tipo di Scansione:
Link Validator - Severità:
Error - Impatto: I percorsi assoluti compromettono la portabilità della documentazione, comportando una detrazione DQS di 2.0 punti.
Correggere la Violazione
Sostituire il percorso assoluto con uno relativo in docs/index.md:
<!-- Prima -->
- [Guide](/guide)
<!-- Dopo -->
- [Guide](./guide.md)
Poi rieseguire:
uvx zenzic check links # → exit 0, nessun finding
Per siti serviti da una sottodirectory, assicurarsi che tutti i link interni siano
relativi. I link esterni (es. https://example.com/docs) non sono interessati da Z105.
Vedi Anche
- z101 — Link Rotti — il file di destinazione non esiste su disco.
- z108 — Testo Link Vuoto — l'etichetta del link è vuota, compromettendo l'accessibilità agli screen reader.
- z202 — Path Traversal — un link che esce dalla directory
docs/. - Riferimento Controlli — specifica completa della regola.