Конвертер markdown в документу docx установленного образца. Поддерживает все возможности GitHub Flavored Markdown.
Макросы
В качестве расширения функционала конвертера библиотекой предусмотрены разные макросы, расширяющие функционал markdown от создания переменных до выполнения кода python. Каждый макрос имеет требуемые права. Список текущих макросов представлен ниже
color
Позволяет поменять цвет текста. Цвет задаётся в формате rgb: `color(255,0,0): Красный текст`
, `color(0,255,0): Зелёный текст`
Комментарии которые никак не влияют не рендер документа: `comment: Надо будет булочки украсть`
count_images
count_tables
Выводит количество всех рисунков/таблиц/формул:
Документ включает в себя `count_images` рисунков и `count_tables` таблицы.
Macros permissions: ADD_VARIABLES
formula
позволяет генерировать формулы из latex. После этого макроса можно вызывать formula_describe
для описания переменных формул
`formula(число ошибок): N=n\x0crac{S}{v}`
`formula_describe(n — найденные собственные ошибки, S — всего внесённых ошибок, v — найденные внесённые ошибки)`
`formula(*число ошибок2): N=2\x0crac{10}{6}=3,(6)`
`formula(число необнаруженных ошибок): (N-n)=3,6-2=1,6`
`formula(формула соотношения): p=\x0crac{1,6}{1,6+K+1}=\x0crac{5}{5+0+1}=0,615`
highlight_color
Позволяет поменять цвет фона текста. В качестве аргумента можно использовать только константу из python-docx WD_COLOR_INDEX. `highlight_color(YELLOW): Что-то тут не понравилось. а где задача? Где?`
mention
Macros permissions: READ_VARIABLES
Позволяет упомянуть рисунок, таблицу или формулу по её названию. Так как данный макрос срабатывает после генерации всего документа, в него нельзя вставить какие-либо макросы, но он позволяет упомянуть любой рисунок/таблицу/формулу, независимо от позиции
Упоминание до: `mention: Главный поток данных`
Неполное упоминание до: `mention: Главный поток`

Упоминание после: `mention: Главный поток данных`
Неполное упоминание после: `mention: Главный поток`
print_plain_text
Macros permissions: FILE_READING, PYTHON_EXECUTION
Позволяет выполнить код python, а вывод stdout записать вместо макроса в конечном документе print_plain_text: data_struct_count.py
. ВНИМАНИЕ. Данная функция выполняет код python, поэтому в некоторых случаях необходимо ограничить обычных пользователей от этой функции. Выполняется асинхронно (выполняется во время создания docx документа, а результат получается в момент сохранения docx документа).
Структура файлов в примере
├── main.md
├── counter.py
counter.py
for i in range(0,21): print(i, end=',')
main.md
Считаем от 0 до 20: `print_plain_text: counter.py` круто!
Выполняем рендер. Результат в документе docx (Файл out.docx
в той же директории): Считаем от 0 до 20: 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20, круто!

set_list_digit
Macros permissions: SETTINGS_CHANGE
set_list_marker
Macros permissions: SETTINGS_CHANGE
Данные два макроса позволяет менять формат нумерованных и маркированных списков в рендере. MGost не использует встроенные в Docx списки, так как существует некоторые проблемы python-docx в их нумерации, поэтому MGost отсчитывает отступы в автоматическом режиме для следования ГОСТу. У обоих функций следующие аргументы:
- Символ до текста
- Окончание текста (но не последнего в списке!)
- Окончание текста последнего в списке

В отличие от set_list_marker
, set_list_digit
в первому аргументе можно использовать аргумент counter в фигурных скобках
Пример использования макросов
`set_list_marker(—,;,.)`
`set_list_digit({counter}. ,.,;)`
store_var
Macros permissions: ADD_VARIABLES
store_var_return
Macros permissions: ADD_VARIABLES, READ_VARIABLES
var
Macros permissions: READ_VARIABLES
Три данных макроса позволяют создавать и использовать переменные в документе Word. Если у вас какое-то предложение повторяется, его можно сохранить в переменную при первом использовании и повторять в документе далее. В данном случае изменение переменной в одном месте изменит её все использования.
store_var_return
### **Аннотация
В исследовательском разделе `store_var_return(исследовательский_старт): анализируется предметная область, существующие решения, устанавливаются цели, задачи и техническое задание.`
...
# Исследовательский раздел
В данном разделе `var(исследовательский_старт)`
store_var
### **Аннотация
`store_var(исследовательский_старт): анализируется предметная область, существующие решения, устанавливаются цели, задачи и техническое задание.`
В исследовательском разделе `var(исследовательский_старт)`
...
# Исследовательский раздел
В данном разделе `var(исследовательский_старт)`
table_name
Macros permissions: SETTINGS_CHANGE
Макрос используется перед заданием какой-либо таблицы средствами markdown для её наименования
`table_name: Типы данных динамического объекта`
| Поле | Тип |
|-------------------|---------|
| Позиция | вектор |
| Скорость | вектор |
| Поворот | ротатор |
| Скорость поворота | вектор |
В случае, если рендер встречает таблицу, но не знает её названия, будет вызвано исключение и рендер остановлен
TODO
Макрос-помощник. При встрече рендера с данным макросом MGost удаляет его из документа, но выводит об этом уведомление в stdout. `TODO: доделать макияж`
Часто задаваемые вопросы
Сколько стоит?
По цене 100₽ можно произвести любое количество рендеров в течение часа. При необходимости оплаты всплывает окно с предложением вариантов оплаты. Также предусмотрен единичный рендер по цене 10₽. Все цены продублированы перед оплатой. Перед оплатой удостоверьтесь в цене и получаемом результате