Тесты проверяют номер страницы, шрифт заголовков, списки, структурные заголовки, таблицы,
CLI, защиту от zip-бомбы и разбор архива. По тегу v* пакет md2gost уходит на PyPI, образ
бота — в GHCR и dcr.deev.su. В requirements.txt убраны неиспользуемые aiohttp, aiofiles,
certifi.
- архив проверялся только по размеру (20 МБ) — распакованный мог занять гигабайты;
теперь до распаковки проверяются число файлов (до 5000) и объём (до 200 МБ);
- конвертация шла прямо в обработчике и блокировала бота для всех;
- формат проверяется до скачивания, документ без имени больше не роняет обработчик;
- токен — из BOT_TOKEN;
- rep_to_txt: вместо изображений выводилась ссылка-заготовка raw.githubusercontent.com/...,
которая никуда не вела; запуск из командной строки с путём вместо жёстко прописанного
пути Windows.
- номеров страниц не было: колонтитул создавался, но поле PAGE в него не добавлялось;
теперь номер внизу по центру, на титульном листе — без номера;
- заголовки выходили не в Times New Roman: встроенные стили Word задают шрифт темы
(asciiTheme), который перекрывает font.name — атрибуты темы снимаются у всех стилей;
- подписи таблиц брали встроенный стиль Caption (синий, 9 пт, курсив) — стиль
настраивается, подпись «Таблица N» — слева над таблицей, как в ГОСТ 7.32;
- маркированный список получал два маркера (стиль List Bullet и «–»), вложенность
терялась, а нумерованный список продолжал счёт предыдущего; теперь тире, отступ по
уровню и своя нумерация «1)» у каждого списка;
- «Введение», «Заключение», «Список литературы» и другие структурные элементы — без
номера, прописными; ветка списка литературы раньше была недостижима;
- таблица заканчивается на пустой строке (две таблицы подряд сливались), строка с «|» без
разделителя — обычный абзац, внешние «|» необязательны; в ячейках — без абзацного
отступа и с одинарным интервалом;
- файлы с BOM читаются корректно.