50 lines
4.6 KiB
Markdown
50 lines
4.6 KiB
Markdown
# Changelog
|
||
|
||
Все заметные изменения в этом проекте будут задокументированы в этом файле.
|
||
|
||
Формат основан на [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||
и этот проект придерживается [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||
|
||
## [0.1.5] - 2024-02-18
|
||
### Исправлено
|
||
- Исправлена ошибка, из-за которой `&` в исходном тексте некорректно преобразовывался в `&`. Теперь `&` и его варианты (`&`, `<`) сохраняются в итоговом HTML.
|
||
- Исправлена (частично) расстановка неразрывных пробелов ` ` на границах закрывающих тегов (например, `<b>Текст</b> -- слово` теперь корректно обрабатывается, в `Текст</b> &endash; слово`).
|
||
|
||
## [0.1.4] - 2024-02-13
|
||
### Изменено
|
||
- **Архитектурное улучшение:** Полностью переработан механизм обработки 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).
|