♻ update
This commit is contained in:
@@ -1,3 +1,38 @@
|
||||
# Changelog
|
||||
|
||||
## [0.5.8-beta] - 2026-10-03
|
||||
|
||||
### Добавлено
|
||||
- **📑 Оглавление (Table of Contents)** — новая опция `include_toc` в API-запросе для генерации оглавления на основе заголовков H1–H3.
|
||||
- **Локализация оглавления** — заголовок TOC автоматически переводится на 84 языка (определяется из контента): «Оглавление» для русского, «Table of Contents» для английского и т.д.
|
||||
- **Кнопка «Оглавление» на фронтенде** — новый чип в панели параметров конвертации для включения/отключения TOC.
|
||||
- **Отображение метаданных в UI** — блок с количеством слов, токенов и размером в байтах под превью конвертации.
|
||||
- **Расширенный YAML Frontmatter** — добавлены поля: `language`, `words`, `tokens`, `reading_time`, `extracted_at`.
|
||||
|
||||
### Изменено
|
||||
- Формат якорных ссылок в TOC изменён на универсальный `[Заголовок](<#Заголовок>)` — корректно работает в Obsidian, GitHub и стандартных Markdown-парсерах.
|
||||
- Метаданные (`words`, `tokens`, `bytes`) вычисляются для чистого контента статьи **до** добавления title/frontmatter/toc и всегда возвращаются в ответе API.
|
||||
|
||||
---
|
||||
|
||||
## [0.5.7-beta] - 2026-10-03
|
||||
|
||||
### Добавлено
|
||||
- **🔍 Автоматическое определение языка контента** — триграммный анализ через `whatlanggo` с предочисткой текста от Markdown-разметки, кода и URL-адресов.
|
||||
- **Структура `Metadata`** в ответе API с полями `words`, `tokens`, `bytes` — возвращается для каждой успешной конвертации независимо от флагов.
|
||||
- **Поле `language` в YAML Frontmatter** — определяется автоматически (например, `"Russian"`, `"English"`, `"German"`).
|
||||
- **Метаданные времени чтения** (`reading_time`) и даты извлечения (`extracted_at`) в Frontmatter.
|
||||
|
||||
### Изменено
|
||||
- Оптимизирована производительность генерации TOC: регулярные выражения и `strings.NewReplacer` вынесены на уровень пакета, используются `sb.Grow()` и прямой `WriteString` вместо `fmt.Fprintf`.
|
||||
- Улучшена точность определения языка: анализ ограничен первыми 5000 символами, используется порог уверенности `> 0.05` вместо строгого `IsReliable()`.
|
||||
- Вызов `detectContentLanguage` выполняется только один раз и только при необходимости (`include_toc` или `include_frontmatter`).
|
||||
|
||||
### Безопасность
|
||||
- Очистка текста перед анализом языка предотвращает ложные срабатывания на технических фрагментах (URL, код, HTML-теги).
|
||||
|
||||
---
|
||||
|
||||
## [0.5.6-beta] - 2026-09-27
|
||||
|
||||
### Добавлено
|
||||
|
||||
Reference in New Issue
Block a user