Links: URLs über Blockgrenzen, Wortpaare, abweichende Linktexte

- _join_split_urls: URL, die in einem neuen Block (auch als Listenpunkt)
  weitergeht, mit der Fortsetzung verbinden; mit Linkziel per Abgleich,
  ohne nur an typischen Umbruchstellen und bei pfadartiger Fortsetzung
- "und/oder" nach einer URL nicht anhängen; Dateiendung nur nach Punkt
- _fuzzy_anchor: Linktext mit Abweichungen (verlorene Ligatur) über
  Kontext/Anfang und letztes Wort finden (Zensur-Report: 76 von 76)
- tests/test_links.py: Test-PDF mit typischen Varianten
- README, TODO

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Dieter Schlüter 2026-10-02 20:35:01 +02:00
commit 1ba5b5005f

View file

@ -395,11 +395,11 @@ def test_link_urls_tolerates_printed_variants():
def test_link_urls_joins_printed_continuation_without_pdf_target():
md = (
"Siehe https://a.org/digital_ dispatches/towards-x/. und https://b.de/ "
"Docs/artikel. html. Oder https://c.de/ und mehr.\n"
"SharedDocs/schwerpunkte/artikel. html. Oder https://c.de/ und mehr.\n"
)
assert p.link_urls(md) == (
"Siehe <https://a.org/digital_dispatches/towards-x/>. und "
"<https://b.de/Docs/artikel.html>. Oder <https://c.de/> und mehr.\n"
"<https://b.de/SharedDocs/schwerpunkte/artikel.html>. Oder <https://c.de/> und mehr.\n"
)