Zahl-Überschriften entfernen, Code-Nachbarzeilen in Codeblöcke
- "## 90", "## xxiv" (Fußnotenzeichen, römische Seitenzahlen ii–xcix)
wie Seitenzahlen entfernen, außer direkt vor einer Titel-Überschrift
oder in der PDF-Gliederung; "## IV." und Register-Buchstaben bleiben
- _mixed_block: zeilengetreue Blöcke zeilenweise prüfen; Konfiguration
([dependencies], name = "wert"), Befehle (cargo build, $ …) und
Programmausgaben (… ok, running n tests) als Codeblock, Anleitungen
als Text; kurze umbrochene Codezeilen erkennen
- Registereinträge ("match(), 247") nie als Code
- _raw_text: Leerzeichen bei Wortabstand ohne Leerzeichen-Zeichen
- Tests, README, Bedienungsanleitung, TODO
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
d6a8c11b0a
commit
7962999e8d
1 changed files with 164 additions and 19 deletions
|
|
@ -179,3 +179,28 @@ def test_indented_dialogue_lines_stay_paragraphs(tmp_path):
|
|||
])
|
||||
assert "lachte er.\n\n»Und sind es heute noch«, echote sie." in md
|
||||
assert "lachte er.\\" not in md
|
||||
|
||||
|
||||
def test_config_and_command_lines_become_code_between_text(tmp_path):
|
||||
md = convert(tmp_path, [
|
||||
(50, "Add to Cargo.toml:"),
|
||||
(50, "[dependencies]"),
|
||||
(50, 'serde = "1.0"'),
|
||||
(50, "Then build it:"),
|
||||
(50, "cargo build"),
|
||||
])
|
||||
assert "Add to Cargo.toml:\n\n```\n[dependencies]\nserde = \"1.0\"\n```\n\nThen build it:" in md
|
||||
assert "```\ncargo build\n```" in md
|
||||
|
||||
|
||||
def test_single_code_like_register_entry_stays_text(tmp_path):
|
||||
md = convert(tmp_path, [
|
||||
(50, "case-sensitive, 48"),
|
||||
(50, "@classmethod, 190"),
|
||||
(50, "match(), 247"),
|
||||
(50, "match-case, 110"),
|
||||
(50, "clear(), 154, 158"),
|
||||
(50, "Closure, 128"),
|
||||
])
|
||||
assert "```" not in md
|
||||
assert "@classmethod, 190\\" in md
|
||||
|
|
|
|||
Loading…
Reference in a new issue