Arseny
8a921e2337
[ADD] поддержка изображений и рефакторинг диспетчера токенов
...
- registry.py: реестры BLOCK/PATTERNS/INLINE с декораторами @block/@pattern/@inline
- render.py: единый диспетчер, слой паттернов, проверка контракта pos (RuntimeError),
pending_toc вместо current_heading для единственной вставки СОДЕРЖАНИЯ
- handlers/image.py: вики-ссылки ![[путь|ширина]], подпись Рисунок N —— ... ,
figure-окружение, авто-нумерация, копирование файлов в tmpdir
- handlers/inline.py: табличная диспетчеризация вместо if/elif
- Все block-обработчики подписаны @block, корректно продвигают pos
- parser.py: препроцессинг ![[...]] → , iter_image_sources()
- main.py: _copy_assets (emblem+картинки в tmpdir), фикс лога (имя .tex),
cwd=tmpdir для xelatex, цикл вместо дублирования, force-include emblem
- tests/test_render.py: pytest (10 тестов), pyproject dev-dep, make test
- preamble.py: name=Рисунок для figure-caption (было Рис. от babel)
- Исправлены баги: мёртвый обработчик, emblem не копировалась,
множественный TOC, захардкожен report.log, маскировка pos
- README/AGENTS.md обновлены
2026-08-25 13:58:01 +03:00
Arseny
3e67937b8b
[FIX] Makefile: дефолтная директория вывода изменена на .
2026-07-16 11:22:01 +03:00
Arseny
d7a2b01be2
[UPDATE] даунгред Python 3.14 -> 3.12: Dockerfile, pyproject.toml, .python-version
2026-07-16 11:20:34 +03:00
Arseny
2917c3bca4
[ADD] поддержка LaTeX-математики: dollarmath plugin, math_inline, math_block
2026-07-16 09:23:50 +03:00
Arseny
876d6f28eb
[FIX] md2gost.sh: дефолтная директория вывода изменена на .
2026-07-16 09:06:29 +03:00
Arseny
c116d7d9af
[UPDATE] рефакторинг: Unicode -> ASCII, README на русском, форматирование
...
- Unicode стрелки (->) -> ASCII (->)
- Добавлен README.md на русском языке
- from __future__ import annotations во всех файлах
- Исправлены ошибки mypy (Callable[..., str], Token import)
- make format + make tidy проходят чисто
2026-07-16 09:00:24 +03:00
Arseny
59ba0555bb
[FIX] рефакторинг: C1-C4 критичные + W1-W10 предупреждения
...
C1: LaTeX escaping спецсимволов (& % $ # _ { } ~ ^ \)
C2: text.capitalize() → first char uppercase only
C3: run_xelatex проверяет returncode
C4: парсинг лога при ошибке второго прохода
W1: Удалены мёртвые счётчики section/subsection/subsubsection
W2: text.upper() вычисляется один раз
W3: Единая сигнатура хендлеров (r, tok) для всех
W4: Джэгged строки таблицы паддятся до max колонок
W5: Пустой lang в code fence → без [language=]
W6: hr() вынесен из code.py в hr.py
W7: Валидация обязательных полей front matter
W8: Имя вуза конфигурируется через front matter
W9: -> None аннотация main()
W10: \n в конце END_DOCUMENT
+ Dockerfile: добавлен texlive-fonts-recommended
2026-07-16 08:52:58 +03:00
Arseny
288a5682db
[FIX] заголовки: уменьшен пробел между номером и текстом (\quad → пробел)
2026-07-16 08:31:01 +03:00
Arseny
74054aa780
[FIX] добавлен build/ в .gitignore
2026-07-16 08:20:43 +03:00
Arseny
08fc5d9aaa
[UPDATE] интеграция: безопасные маунты, кэш в tmpdir, только .tex/.pdf
2026-07-16 08:20:35 +03:00
Arseny
3a1acafc24
[ADD] Times New Roman: установка шрифтов в Docker + fontconfig
2026-07-15 22:30:56 +03:00
Arseny
0c3c3496a8
[FIX] содержание: убран дублирующий заголовок, добавлен tocloft
2026-07-15 22:30:56 +03:00
Arseny
b6f98e529f
[FIX] сокращения: вторая колонка с переносом текста
2026-07-15 22:30:56 +03:00
Arseny
0b07fd4048
[FIX] нумерация страниц начинается с 2
2026-07-15 22:30:56 +03:00
Arseny
890d21fe9b
[FIX] нумерация заголовков начинается с 1
2026-07-15 22:30:56 +03:00
Arseny
ca3571942f
[FIX] поля: rmargin=1.5cm, titlesec заголовки, нумерация с 2
2026-07-15 22:30:56 +03:00
Arseny
a5724059ca
[UPDATE] титульник: шапка по образцу, студент/преподаватель, год курсивом, Docker --user fix
2026-07-15 22:30:56 +03:00
Arseny
f1cc6f0fa2
[UPDATE] рефакторинг: handlers, fontspec, Docker optimization
2026-07-15 22:30:56 +03:00
Arseny
9e1d5c3c7e
Init
2026-07-15 22:30:56 +03:00