Files
2025-etpgrf/CHANGELOG.md
2026-02-03 02:15:56 +03:00

3.9 KiB
Raw Blame History

Changelog

Все заметные изменения в этом проекте будут задокументированы в этом файле.

Формат основан на Keep a Changelog, и этот проект придерживается Semantic Versioning.

[0.1.4] - 2025-02-03

Изменено

  • Архитектурное улучшение: Полностью переработан механизм обработки HTML.
    • Внедрены маркеры границ узлов (\uFFFF) при сборке текста. Это позволяет корректно восстанавливать структуру HTML даже если длина текста изменилась в процессе обработки (например, при удалении лишних пробелов).
    • Внедрены плейсхолдеры (\uFFFC) для защищенных тегов (<code>, <script> и др.). Теперь содержимое этих тегов физически изолируется перед обработкой, что предотвращает "протекание" контекста (например, склеивание слов, разделенных кодом).

Исправлено

  • Исправлена ошибка смещения текста при наличии спецсимволов (мнемоник) или при изменении длины строки.
  • Исправлена обработка кавычек, стоящих вплотную к границам тегов (например, "<b>Текст</b>").

[0.1.3] - 2026-01-11

Исправлено

  • Исправлена проблема с появлением лишних тегов <html> и <body> при обработке фрагментов HTML (когда используется парсер lxml). Теперь типограф автоматически определяет, был ли на входе полноценный документ или фрагмент, и возвращает соответствующий результат.

[0.1.2] - 2025-12-27

Исправлено

  • Критическое исправление: Добавлена отсутствующая зависимость regex в pyproject.toml. Без неё библиотека падала при импорте.

[0.1.1] - 2025-12-23

Добавлено

  • Ссылки на зеркала репозитория (GitVerse, Gitea) в pyproject.toml и README.md.
  • Раздел Credits в документации.

[0.1.0] - 2025-12-23

Добавлено

  • Первый публичный релиз библиотеки etpgrf.
  • Основные модули:
    • Typographer: основной класс-оркестратор.
    • Hyphenator: расстановка мягких переносов (алгоритм Ляна-Кнута).
    • QuotesProcessor: замена кавычек («ёлочки», „лапки“).
    • Unbreakables: неразрывные пробелы для предлогов, союзов и частиц.
    • LayoutProcessor: типографика тире, инициалов, акронимов, единиц измерения, устойчивых сокращений (постпозиционных и препозиционных).
    • SymbolsProcessor: псевдографика (тире, стрелочки, копирайт и т.п.)
    • HangingPunctuationProcessor: висячая пунктуация.
    • SanitizerProcessor: очистка HTML перед обработкой.
  • Поддержка русского, русского дореформенного и английского языков.
  • Поддержка обработки HTML (через BeautifulSoup).