101 lines
2.1 KiB
Markdown
101 lines
2.1 KiB
Markdown
# md-to-docx
|
||
|
||
Конвертер Markdown в Word (.docx) с поддержкой стилей, тем и плагинов.
|
||
|
||
## Установка
|
||
|
||
```bash
|
||
pip install -r requirements.txt
|
||
```
|
||
|
||
## Использование
|
||
|
||
### Структура входных данных:
|
||
|
||
```
|
||
inputs/
|
||
├── my_doc/
|
||
│ ├── document.md
|
||
│ └── images/
|
||
│ ├── img1.png
|
||
│ └── img2.jpg
|
||
```
|
||
|
||
### Простой запуск:
|
||
|
||
```bash
|
||
python -m src --input inputs --output outputs
|
||
```
|
||
|
||
### С использованием темы:
|
||
|
||
```bash
|
||
python -m src --input inputs --output outputs --theme academic
|
||
```
|
||
|
||
### С шаблоном .dotx:
|
||
|
||
```bash
|
||
python -m src --input inputs --output outputs --template template.dotx
|
||
```
|
||
|
||
### С плагинами:
|
||
|
||
```bash
|
||
python -m src --input inputs --output outputs --plugins my_plugins/
|
||
```
|
||
|
||
### Дополнительные опции:
|
||
|
||
- `--verbose` / `-v` — подробный лог
|
||
- `--quiet` / `-q` — без логов
|
||
- `--dry-run` — показать, что будет сделано
|
||
- `--style path/to/style.yaml` — использовать свой стиль
|
||
|
||
## Поддерживаемые элементы
|
||
|
||
- Заголовки `#`, `##`, `###`
|
||
- Параграфы
|
||
- Списки: `-`, `1.`
|
||
- **Жирный**, *курсив*, [ссылки](https://example.com)
|
||
- Изображения: ``
|
||
- Таблицы
|
||
- `<br>` внутри таблиц и параграфов
|
||
|
||
## Стили
|
||
|
||
Стили задаются в `resources/style_config.yaml` или через `--theme`.
|
||
|
||
Пример:
|
||
|
||
```yaml
|
||
styles:
|
||
Heading 1:
|
||
font:
|
||
name: "Times New Roman"
|
||
size: 16
|
||
bold: true
|
||
```
|
||
|
||
## Плагины
|
||
|
||
Можно создать свой обработчик:
|
||
|
||
```python
|
||
# plugins/my_block.py
|
||
from src.handlers import register_handler
|
||
|
||
@register_handler("my_block")
|
||
def handle_my_block(node, doc, images_dir, style_reg):
|
||
# ваш код
|
||
pass
|
||
```
|
||
|
||
И использовать: `--plugins plugins/`
|
||
|
||
## Docker
|
||
|
||
```bash
|
||
docker build -t md2docx .
|
||
docker run -v ./inputs:/app/inputs -v ./outputs:/app/outputs md2docx --input inputs --output outputs
|
||
``` |