Zum Inhalt springen
Blume
Deutsch
Esc
navigierenöffnen⌘Jvorschau
Auf dieser Seite

Validieren

blume validate prüft jeden Link in deinen Inhalten – Seiten, Anker, Assets und optional externe URLs – und lässt CI fehlschlagen, sobald einer kaputt ist.

blume validate liest deine Inhalte so ein, wie es ein Build tut, und prüft jeden Link, den es findet. Es wird nichts generiert oder gebaut, deshalb ist es die schnelle Prüfung, die du vor blume build schalten kannst:

blume validate
  • Interne Seitenlinks (/guides/intro, ./sibling) müssen auf eine echte Seite verweisen – kaputte Links werden als Fehler gemeldet. Ein String-href einer Komponente (<Card href="./install">) wird genauso geprüft, ein href={…}-Ausdruck dagegen nicht.
  • Anker-Links (#section, /guides/intro#setup) müssen zu einem Anker auf der Zielseite passen – der ID einer Überschrift (generiert oder festgelegt) oder dem id-Attribut eines rohen HTML-Elements. Treffer, die fehlen, werden als Warnungen gemeldet. IDs in Codeblöcken, Inline-Code, HTML-Kommentaren und <Prompt>-Blöcken zählen nicht.
  • Asset-Links werden dort geprüft, wo die Datei liegt: ein absoluter Pfad (/logo.png) im Verzeichnis public/, ein relatives eingebettetes Bild (![](./diagram.png)) im Ordner der jeweiligen Seite. Ein normaler Link auf einen relativen Pfad wird weiterhin als Route der Website aufgelöst – nur eingebettete Bilder durchlaufen die Bild-Pipeline.
  • Externe Links werden nur mit --external geprüft (standardmäßig deaktiviert, da dafür Netzwerkzugriff nötig ist). Tote Links (404/410/nicht erreichbar) sind Fehler, während Antworten mit Rate-Limit oder vorübergehenden Problemen (403/429/5xx/Timeout) Warnungen sind.

Was als Seite zählt

Links werden gegen alles aufgelöst, was die gebaute Website ausliefert, nicht nur gegen Markdown-Seiten: eigene .astro-Seiten, den generierten Changelog-Index, jede konfigurierte Weiterleitung und auf einer mehrsprachigen Website die Fallback-URL einer nicht übersetzten Seite unter jeder Locale. Eine Seite, die sich nicht parsen lässt, wird zusammen mit den Link-Ergebnissen gemeldet. Eine Seite, die nie lädt, ist nämlich ein blinder Fleck der Link-Validierung und kein sauberes Ergebnis.

Flags

  • --external – prüft zusätzlich externe http(s)-Links über das Netzwerk.
  • --strict – beendet sich auch bei Warnungen mit einem Exit-Code ungleich null. Hinweise der Stufe „info“ bleiben rein informativ.
  • --json – gibt die Diagnosen als JSON auf stdout aus statt als Terminal-Bericht.

Diagnosen

Code Schweregrad Bedeutung
BLUME_BROKEN_LINK error Ein interner Link zeigt auf eine Route, die von keiner Seite bereitgestellt wird.
BLUME_BROKEN_ANCHOR warning Die Seite existiert, hat aber keinen Anker, der zum Fragment passt.
BLUME_BROKEN_ASSET warning Ein absoluter Pfad liegt nicht in public/, oder ein relatives eingebettetes Bild liegt nicht neben der Seite.
BLUME_ASSETS_UNCHECKED info Es gibt kein Verzeichnis public/, daher wurden absolute Asset-Pfade nicht geprüft.
BLUME_DEAD_LINK error oder warning Ein externer Link (mit --external) hat 404/410 zurückgegeben oder war nicht erreichbar (error), oder er lieferte vorübergehend 403/429/5xx/Timeout (warning).

Der Exit-Code ist der Vertrag: Bei Fehlern wird mit einem Wert ungleich null beendet, und --strict sorgt dafür, dass Warnungen dasselbe bewirken.

JSON-Ausgabe

Mit --json schreiben blume validate (und blume doctor) ein einzelnes Objekt auf stdout. Es enthält eine diagnostics-Liste und eine summary mit der Anzahl pro Schweregrad. Jeder Eintrag der Liste enthält seinen code, severity und message, die file relativ zum Projektstammverzeichnis, dazu line und column, wenn das Ergebnis eine Position hat, eine suggestion und eine docsUrl, die auf die Seite verweist, die den Code erklärt. Der Exit-Code bleibt unverändert. Derselbe Aufruf kann also CI absichern und gleichzeitig eine Editor-Integration speisen.

Zuletzt aktualisiert am 24. September 2026

War diese Seite hilfreich?