2025-12-09 23:50:02 +03:00
2025-12-08 16:57:25 +03:00
2025-12-09 13:43:18 +03:00
2025-12-09 13:43:18 +03:00
2025-12-09 13:43:18 +03:00
2025-12-08 18:19:31 +03:00
2025-12-08 17:48:35 +03:00
2025-12-08 17:48:35 +03:00
2025-12-08 16:57:25 +03:00
2025-12-09 23:50:02 +03:00
2025-12-08 17:48:35 +03:00
2025-12-08 17:48:35 +03:00

md-to-docx

Конвертер Markdown в Word (.docx) с поддержкой стилей, тем и плагинов.

Установка

pip install -r requirements.txt

Использование

Структура входных данных:

inputs/
├── my_doc/
│   ├── document.md
│   └── images/
│       ├── img1.png
│       └── img2.jpg

Простой запуск:

python -m src --input inputs --output outputs

С использованием темы:

python -m src --input inputs --output outputs --theme academic

С шаблоном .dotx:

python -m src --input inputs --output outputs --template template.dotx

С плагинами:

python -m src --input inputs --output outputs --plugins my_plugins/

Дополнительные опции:

  • --verbose / -v — подробный лог
  • --quiet / -q — без логов
  • --dry-run — показать, что будет сделано
  • --style path/to/style.yaml — использовать свой стиль

Поддерживаемые элементы

  • Заголовки #, ##, ###
  • Параграфы
  • Списки: -, 1.
  • Жирный, курсив, ссылки
  • Изображения: ![alt](images/file.png)
  • Таблицы
  • <br> внутри таблиц и параграфов

Стили

Стили задаются в resources/style_config.yaml или через --theme.

Пример:

styles:
  Heading 1:
    font:
      name: "Times New Roman"
      size: 16
      bold: true

Плагины

Можно создать свой обработчик:

# 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

docker build -t md2docx .
docker run -v ./inputs:/app/inputs -v ./outputs:/app/outputs md2docx --input inputs --output outputs
Description
No description provided
Readme 60 KiB
Languages
Python 98.1%
Dockerfile 1.9%