Files
md-to-docx/DEVELOPER.md
Mikan bba1e8ca7e [AI]
MVP готов
2025-12-08 17:48:35 +03:00

61 lines
1.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Документация разработчика
## Архитектура
```
src/
├── __main__.py # CLI (typer)
├── core/
│ ├── converter.py # основная логика
│ ├── renderer.py # парсинг и диспетчеризация
│ └── style_registry.py # стили
├── handlers/
│ ├── __init__.py # реестр обработчиков
│ └── builtin.py # встроенные обработчики
├── plugins/ # плагины (пользовательские)
└── utils.py # вспомогательные функции
```
## Добавление нового обработчика
1. Создайте функцию:
```python
@register_handler("new_element")
def handle_new_element(node, doc, images_dir, style_reg):
# ваш код
pass
```
2. Регистрируйте через `@register_handler("type")`
3. В `mistune` должен быть соответствующий плагин (если нужен кастомный синтаксис)
## Стили
Стили определяются в YAML и применяются через `StyleRegistry`.
## Тестирование
```bash
pytest tests/
pytest tests/ -v -s # с логами
```
Тесты покрывают:
- Обработчики
- Стили
- CLI
- Плагины
## Docker
Сборка: `docker build -t md2docx .`
Запуск: `docker run -v ./inputs:/app/inputs -v ./outputs:/app/outputs md2docx ...`
## CI/CD (опционально)
- Запуск тестов
- Сборка Docker
- Публикация в PyPI (опционально)