Skip to content

Скрипт для генерации docx отчета в соответствии с ГОСТ из markdown файла

License

Notifications You must be signed in to change notification settings

KweezyCode/md2gost

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

md2gost

Скрипт для генерации docx отчета в соответствии с ГОСТ из markdown файла.

Roadmap проекта.

Основные возможности

  • Генерация отчета;
  • Добавление титульной страницы в формате docx;
  • Генерация интерактивного содержания;
  • Поддержка сквозной нумерации и кросс-референсинга;
  • Автоматическая расстановка рисунков, продолжений таблиц и листингов и т.д.

Пример

Markdown-файл: example.md.

Сгенерированный файл в zip архиве (комманда python -m md2gost --syntax-highlighting example.md): example.zip.

Установка

pip install --upgrade git+https://github.com/witelokk/md2gost.git@main

Если ваша система приняла стандарт PEP 668, используйте pipx:

pipx install git+https://github.com/witelokk/md2gost.git@main

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

(python -m ) md2gost [-h] [-o OUTPUT] [-T TITLE] [--title-pages TITLE_PAGES] [--syntax-highlighting | --no-syntax-highlighting] [--debug] [filenames ...]

При отсутствии флага -o, сгенерированый отчет будет иметь имя с названием исходного файла и расширением .md.

Фичи

Добавление титульной страницы

Чтобы добавить титульную страницу используйте флаг --title(-T) с путем до файла с титульной страницей (в формате docx). Если в файле более чем одна страница, используйле флаг --title-pages с количеством страниц.

Пример md2gost report.md --title title.docx --title-pages 2

Подписи рисунков, листингов, таблиц

Рисунки:

![](path/to/image "%unique_name Caption text")

Таблицы:

%uniquename Caption text

| a | b | c |
|---|---|---|
| a | b | c |

Листинги:

%uniquename Caption text

```python
print("hello world")
```

Формулы:

%uniquename

$$
2 + 2 = 4
$$

uniquename - уникальное имя для ссылок.

Ссылки

Что-бы вставить кликабельный номер картинки/листинга/etc, используйте

Рис. @unique_name

Заголовки для основных разделов

Для того чтобы у заголовка не было сквозной нумерации (например для заголовка Содержание), используйте

# *СОДЕРЖАНИЕ

Генерация содержания

[TOC]

Подсветка синтаксиса в листингах

Используйте флаг --syntax-highlighting

Импорт кода в листингах

```python code.py
```

где code.py - путь до файла с кодом

About

Скрипт для генерации docx отчета в соответствии с ГОСТ из markdown файла

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%