feat: Knotenbeschreibungen — "-Zeilen und ----Beschreibungsteil (SPEC §1/§9, D40)
Parser: `"`-Zeilen (Leerraum-Regel, nur ohne Zerlegungszeichen) hängen am vorangehenden Knoten; hinter einem `---`-Trenner eröffnen #id-Zeilen Blöcke, deren eingerückte Zeilen der Text sind (Leerzeilen = Absätze, weitere Trenner bedeutungslos). Freitext ohne §1-Extraktion, nur %% fällt weiter weg. Warnungen: unknownDesc (ID ohne Knoten, Blocktext wird still geschluckt) und descStray je verwaister Zeile — ein versehentlicher Trenner meldet die verschluckten Knotenzeilen zeilengenau. Anzeige im Tooltip (Text zuerst, mehrzeilig) + aria-label, ”-Marke am Knoten (nicht im Export — eine Marke ohne Ziel wäre Rauschen). i18n in allen 9 Sprachen; SPEC-§11-Abschnitt in §1/§9 überführt; 16 neue Tests (tests/desc.test.js). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
c4abd24ce8
commit
a42710b38f
@@ -18,6 +18,13 @@
|
||||
- unknownDep { line, id } — Abhängigkeit auf eine ID ohne Knoten
|
||||
(SPEC §1/D37); Zyklen sind dagegen
|
||||
zulässig und warnen nie
|
||||
- unknownDesc { line, id } — Beschreibungsblock für eine ID ohne
|
||||
Knoten (SPEC §11/D40)
|
||||
- descStray { line } — Beschreibungszeile ohne Bezug: `"`-Zeile
|
||||
ohne Knoten davor bzw. Zeile im
|
||||
Beschreibungsteil ohne #id-Block; meldet
|
||||
auch die von einem versehentlichen
|
||||
`---` verschluckten Knotenzeilen
|
||||
- sourceLoad { url, error } — ?sourceUrl= nicht ladbar (D23); ohne
|
||||
Zeilennummer, erscheint dadurch zuoberst
|
||||
- padRateLimit { seconds } — zu früh nachgeladen; Werkbaum hat gar nicht
|
||||
@@ -44,6 +51,10 @@ export function formatWarning(w, t){
|
||||
return t('duplicateIdWarn', {line: w.line, id: esc(w.id), firstLine: w.firstLine});
|
||||
case 'unknownDep':
|
||||
return t('unknownDepWarn', {line: w.line, id: esc(w.id)});
|
||||
case 'unknownDesc':
|
||||
return t('unknownDescWarn', {line: w.line, id: esc(w.id)});
|
||||
case 'descStray':
|
||||
return t('descStrayWarn', {line: w.line});
|
||||
case 'sourceLoad':
|
||||
return t('sourceLoadWarn', {url: esc(w.url), error: esc(w.error)});
|
||||
case 'padRateLimit':
|
||||
|
||||
Reference in New Issue
Block a user