[UPDATE] рефакторинг: Unicode -> ASCII, README на русском, форматирование

- Unicode стрелки (->) -> ASCII (->)
- Добавлен README.md на русском языке
- from __future__ import annotations во всех файлах
- Исправлены ошибки mypy (Callable[..., str], Token import)
- make format + make tidy проходят чисто
This commit is contained in:
Arseny
2026-07-16 09:00:24 +03:00
parent 59ba0555bb
commit c116d7d9af
12 changed files with 138 additions and 40 deletions
+77
View File
@@ -0,0 +1,77 @@
# md2gost
Конвертер Markdown в LaTeX по ГОСТ Р 7.0.5-2008. Генерирует PDF-отчёты с титульным листом, содержанием, нумерацией и форматированием по ГОСТ.
## Установка
Требуется Docker. Локальная установка LaTeX не нужна.
```bash
docker build -t md2gost .
```
## Использование
```bash
./md2gost.sh report.md -o ./build
```
Скрипт создаст `build/report.tex` и `build/report.pdf`.
### Флаги
- `-o dir` -- выходная директория (по умолчанию `./build`)
- `--no-pdf` -- только .tex, без компиляции
## Формат Markdown
Используется front matter в начале файла:
```yaml
---
факультет: Информатика и системы управления
кафедра: Программные средства
тип: Отчёт по практике
название: Исследование алгоритмов оптимизации
студент: Иванов И.И.
преподаватель: Петров П.П.
группа: ИУ1-12
год: 2026
---
```
Обязательные поля: `название`, `тип`.
### Поддерживаемые элементы
- Заголовки (1-3 уровень) с нумерацией
- Параграфы, списки (маркированные и нумерованные)
- Таблицы
- Код с подсветкой синтаксиса
- Изображения
- Аббревиатуры (раздел "Перечень принятых сокращений")
- Ссылки, жирный, курсив
## Структура проекта
```
md2gost/
md2gost/
main.py # точка входа
parser.py # парсинг markdown
render.py # рендер в LaTeX
handlers/ # обработчики блоков
latex/ # преамбула, титульный лист
md2gost.sh # обёртка для Docker
Dockerfile
Makefile
```
## Команды
```bash
make build # сборка Docker-образа
make run # сборка + конвертация report.md
make format # форматирование кода (black + ruff)
make tidy # статический анализ (ruff + mypy)
```