-
Notifications
You must be signed in to change notification settings - Fork 0
02 Verwendung
Alle Kommandos folgen dem gleichen Muster:
poetry run <kommando> [pfad] [--include GLOB] [--exclude GLOB]Oder ueber das Makefile:
make <target> [MANUSCRIPT=pfad] [INCLUDE=pattern] [EXCLUDE=pattern]Standard-Pfad ist immer manuscript/, Standard-Include ist **/*.md.
Prueft Manuskript-Dateien gegen definierte Regeln. Zwei Modi:
make checkPrueft auf technische Probleme, die in jedem Text Fehler sind:
| Regel | Prueft auf |
|---|---|
no-dashes |
En-Dashes und Em-Dashes (Unicode U+2013, U+2014) |
no-invisible-chars |
Zero-Width-Spaces, BOM, Bidi-Controls |
no-repeated-words |
Doppelte Woerter ("der der", "und und") |
no-double-spaces |
Mehrfache Leerzeichen innerhalb einer Zeile |
non-german-quotes |
Nicht-deutsche Anführungszeichen (gerade, englische) |
broken-formatting |
Gebrochene Bold/Italic-Marker (Eclipse-Formatter) |
make check-strict
# oder
poetry run ms-check manuscript/ --strictAktiviert zusaetzlich Regeln fuer Prosaqualitaet. Diese sind beratend, nicht jeder Treffer ist ein Fehler:
| Regel | Prueft auf |
|---|---|
max-sentence-length |
Saetze mit mehr als 40 Woertern |
filler-words-de |
Deutsche Fuellwoerter (eigentlich, irgendwie, quasi, halt, sozusagen, ...) |
passive-voice-de |
Passivkonstruktionen inkl. inseparabler Praefixe (wird gelesen, wurde behoben, ist versandt worden) |
# Ganzes Manuskript pruefen (Core)
make check
# Strenge Pruefung (Core + Prosa)
make check-strict
# Einzelne Datei
poetry run ms-check kapitel-03.md
# Bestimmtes Verzeichnis, Entwuerfe ausschliessen
make check MANUSCRIPT=buch/ EXCLUDE="entwuerfe/*"
# Streng + gefiltert
poetry run ms-check buch/ --strict --exclude 'entwuerfe/*'OK: manuscript/kapitel-01.md (3412 Woerter)
FAIL: manuscript/kapitel-02.md:17 [no-dashes] Gedankenstrich (en/em-dash) gefunden
FAIL: manuscript/kapitel-02.md:42 [no-repeated-words] Wiederholtes Wort: 'der'
FAIL: manuscript/kapitel-02.md:89 [filler-words-de] Fuellwort: 'eigentlich'
OK: manuscript/kapitel-03.md (2891 Woerter)
------------------------------------------------------------
Dateien: 3, Woerter: 9194
Status: FEHLER (1 Dateien, 3 Verstoss(e))
Exit-Code 1 bei Verstoessen, 0 wenn alles sauber ist.
Repariert und normalisiert den Text in Markdown-Dateien:
- Mojibake-Reparatur (via ftfy)
- Unicode-Normalisierung (NFKC)
- Ersetzung von No-Break-Spaces, Soft Hyphens, Line Separators
- Entfernung von Zero-Width-Zeichen, BOM, Bidi-Controls
- Entfernung von Control Characters (ausser Tab und Newline)
- Normalisierung von Zeilenenden auf
\n - Sicherstellung eines abschliessenden Newline
# Vorschau: zeigt was geaendert wuerde, schreibt nichts
make sanitize-dry
# Mit Backup: erstellt .bak-Dateien vor dem Schreiben
make sanitize-backup
# In-Place: aendert Dateien direkt
make sanitizemake clean-bakKonvertiert gerade ASCII-Quotes ("), englische typografische ("\u201c \u201d") und einfache (\u2018 \u2019) Anführungszeichen in deutsche Typografie:
- Doppelt: \u201e \u201c (U+201E / U+201C)
- Einfach: \u201a \u2018 (U+201A / U+2018)
# Vorschau
poetry run ms-quotes manuscript/ --dry-run
# Korrigieren (mit Backup)
poetry run ms-quotes manuscript/
# Ohne Backup
poetry run ms-quotes manuscript/ --no-backupGeschützte Bereiche (YAML-Frontmatter, Code-Blöcke, Inline-Code, HTML-Attribute) werden nicht angefasst. Asymmetrische Anführungszeichen erzeugen eine Warnung statt einer Korrektur.
ms-check warnt über non-german-quotes, ms-quotes behebt das Problem.
Erkennt und repariert Bold/Italic-Marker, die durch Code-Formatter (z.B. Eclipse) über Zeilengrenzen gebrochen wurden:
# Vorher (Eclipse hat umgebrochen)
Das ist ein **
wichtiger** Absatz.
# Nachher
Das ist ein **wichtiger** Absatz.# Vorschau
poetry run ms-format manuscript/ --dry-run
# Korrigieren (mit Backup)
poetry run ms-format manuscript/
# Ohne Backup
poetry run ms-format manuscript/ --no-backupGeschützte Bereiche (Frontmatter, Code-Blöcke) und Listen-Marker werden nicht angefasst.
ms-check warnt über broken-formatting, ms-format behebt das Problem.
Zaehlt Woerter, Saetze und berechnet Lesbarkeitsmetriken pro Datei.
make metricskapitel-01.md 3,412 Woerter 187 Saetze Flesch: 68.3 (Mittel)
kapitel-02.md 2,891 Woerter 154 Saetze Flesch: 72.1 (Leicht)
kapitel-03.md 2,891 Woerter 148 Saetze Flesch: 55.7 (Mittelschwer)
------------------------------------------------------------
Gesamt 9,194 Woerter 489 Saetze 489 Zeilen
Lesbarkeitsanalyse (gesamt):
Flesch-DE: 64.2 (Mittel)
Durchschn. Satzlaenge: 18.8 Woerter
Durchschn. Silben/Wort: 1.72
Der Flesch-Lesbarkeitsindex nach Amstad (1978), angepasst fuer deutsche Texte:
| Score | Bewertung | Typische Verwendung |
|---|---|---|
| 80-100 | Sehr leicht | Kinderbuch, einfache Sprache |
| 70-80 | Leicht | Unterhaltungsliteratur |
| 60-70 | Mittel | Belletristik, Sachbuch |
| 50-60 | Mittelschwer | Qualitaetsjournalismus |
| 30-50 | Schwer | Fachliteratur |
| 0-30 | Sehr schwer | Akademisch, juristisch |
Die Wortzaehlung nutzt Regex-Word-Boundaries statt str.split(). Markdown-Syntax wie #, **, > wird nicht mitgezaehlt. Die Silbenzaehlung erkennt deutsche Diphthonge (ei, au, eu, ie, ...).
Fuehrt alle fünf Phasen in einem Lauf aus:
- Sanitize-Check (Dry-Run oder mit
--fix) - Anführungszeichen-Check (Dry-Run oder mit
--fix) - Formatierungs-Check (Dry-Run oder mit
--fix) - Style-Check (alle Regeln, also Core + Prosa)
- Lesbarkeitsreport
# Standard: Sanitize als Dry-Run, nur Bericht
make validate
# Mit automatischer Bereinigung (erstellt Backups)
make validate-fix============================================================
PHASE 1: Sanitize
============================================================
MUSS BEREINIGT WERDEN: manuscript/kapitel-02.md
1 Datei(en) benoetigen Bereinigung.
Tipp: --fix zum automatischen Bereinigen verwenden.
============================================================
PHASE 2: Anführungszeichen
============================================================
MUSS KORRIGIERT WERDEN: manuscript/kapitel-02.md (3 Ersetzung(en))
1 Datei(en) mit nicht-deutschen Anführungszeichen.
Tipp: --fix oder ms-quotes zum Korrigieren verwenden.
============================================================
PHASE 3: Formatierung (Bold/Italic)
============================================================
Keine gebrochenen Formatierungen.
============================================================
PHASE 4: Style-Check (alle Regeln)
============================================================
OK: manuscript/kapitel-01.md
FAIL: manuscript/kapitel-02.md:17 [no-dashes] Gedankenstrich (en/em-dash) gefunden
FAIL: manuscript/kapitel-02.md:89 [filler-words-de] Fuellwort: 'eigentlich'
FAIL: manuscript/kapitel-02.md:112 [passive-voice-de] Passivkonstruktion: 'wird ... gelesen'
3 Verstoss(e) gefunden.
============================================================
PHASE 5: Lesbarkeit
============================================================
kapitel-01.md 3,412 W 187 S Flesch 68.3 (Mittel)
kapitel-02.md 2,891 W 154 S Flesch 72.1 (Leicht)
Laengster Satz: 47 Woerter (Zeile 203)
Gesamt: 6,303 Woerter, Flesch-DE 69.8 (Mittel)
============================================================
ERGEBNIS: Probleme gefunden. Siehe Details oben.
ms-validate ist der empfohlene Einstiegspunkt fuer Pre-Push-Checks und CI-Pipelines.
Alle Kommandos respektieren die Projekt-Konfiguration aus [tool.manuscript-tools] in der pyproject.toml. Damit lassen sich Regeln, Schwellenwerte und Fuellwortlisten pro Projekt anpassen. Siehe Konfiguration.
Zurueck: Installation | Weiter: Eigene Regeln