85 lines
7.1 KiB
Markdown
85 lines
7.1 KiB
Markdown
# CLI и GUI
|
||
|
||
Движок один: GUI собирает те же параметры, что и аргументы `python -m md2gost`.
|
||
|
||
## Основные команды
|
||
|
||
```bash
|
||
python -m md2gost # GUI
|
||
python -m md2gost --gui report.md
|
||
python -m md2gost report.md -o out.docx --type coursework --check --strict
|
||
python -m md2gost report.docx -o report.md # импорт Word → Markdown (word2md)
|
||
python -m md2gost report.docx --check-pages # только проверка вёрстки готового DOCX
|
||
python -m word2md report.docx -o report.md
|
||
```
|
||
|
||
Справка: `python -m md2gost -h`.
|
||
|
||
## Соответствие флагов и GUI
|
||
|
||
| CLI | Где в GUI | Смысл |
|
||
|-----|-----------|--------|
|
||
| `--type` | Основные → тип | practice, coursework, vkr, PIS_custom, APID_coursework |
|
||
| `-o` / `--output` | Выходной DOCX | путь результата |
|
||
| `--heading-numbering` | Основные | `manual` (цифры в md) / `auto` (Word) |
|
||
| `--toc` | Основные | `native` (поле Word) / `manual` (собирает md2gost) |
|
||
| `--emdash-to-hyphen` | Галочка «—» → «-» | по умолчанию выкл. |
|
||
| `--hr-pagebreak` | Галочка --- → разрыв | по умолчанию `---` игнорируется |
|
||
| `--title` / `--assignment` / `-t` | Настройки → Файлы | титул, задание, шаблон |
|
||
| `--auto-title` / `--no-auto-title` | галочка «Автотитул» | автогенерация титула (по умолчанию выкл.) |
|
||
| `--student` / `--group` | Настройки → Студент… | ФИО и группа для автотитула |
|
||
| `--doc-author-from` / `--doc-author` | Настройки → Метаданные… | автор в свойствах DOCX (`os` / `student` / `custom`) |
|
||
| `--doc-title` / `--doc-subject` / `--doc-keywords` / `--doc-comments` / `--doc-category` / `--doc-last-modified-by` | Настройки → Метаданные… | остальные поля File → сведения |
|
||
| `--check` / `--check-only` / `--strict` | Галочки проверки ТЗ | замечания по структуре и источникам |
|
||
| `--check-pages` | Проверить вёрстку в Word | эвристика полупустых страниц (Word + pywin32) |
|
||
| `--table-continuation` | Основные | `word` (по умолчанию), `off`, `legacy`, `caption`, `soft` |
|
||
| `--listing-continuation` | Основные | то же для листингов |
|
||
| `--table-repeat-header` | Галочка | шапка на фрагментах после word-split |
|
||
| `--plantuml-jar` / `--kroki-url` | Настройки → Диаграммы | локальный рендер UML / запасной Kroki |
|
||
| `--diagram-fallback` | Диаграммы | `remote` / `local` / `off` (отключает только kroki.io) |
|
||
| `--diagram-format` | Диаграммы | `png` / `svg` |
|
||
| `--diagram-scale` | Диаграммы | качество PNG PlantUML / локального Mermaid (по умолчанию 2) |
|
||
| `--page-start N` | Основные → Смещение страниц | начальный номер PAGE в теле; пусто = сквозной |
|
||
| (нет CLI) | Диаграммы → «Скачать Graphviz» | portable Graphviz для DFD (`vendor` или `%LOCALAPPDATA%\md2gost\graphviz`) |
|
||
| `--install-chromium` | Диаграммы → «Скачать headless Chromium» | Chromium для Mermaid в `%LOCALAPPDATA%\md2gost` |
|
||
| `--schemes` | файл схем / Шаблоны UML | путь к `md2gost.schemes.json` |
|
||
| `--styles` | Настройки → Файлы → Стили JSON | оверлей `md2gost.styles.json` (также рядом с `.md`); см. [styles.md](styles.md) |
|
||
| `--syntax-highlighting` | (CLI) | подсветка в листингах |
|
||
| `--debug` | меню Дебаг | отладочные данные в документе (на одну сборку в GUI) |
|
||
|
||
## Продолжение таблиц и листингов
|
||
|
||
DOCX не умеет сам писать «Продолжение Таблицы N» только со 2-й страницы. Режим **`word`** (по умолчанию): после сохранения Word COM режет по реальной пагинации. Нужны Windows + Word + pywin32. Без Word: `--table-continuation off` (и то же для листингов).
|
||
|
||
## Меню GUI
|
||
|
||
- **Настройки → Файлы** — шаблон, титул, задание, стили JSON, выходной путь
|
||
- **Настройки → Студент…** — ФИО и группа (при первом запуске спрашивают сами)
|
||
- **Настройки → Метаданные…** — свойства DOCX (автор, название, тема, теги, примечание)
|
||
- **Настройки → Диаграммы** — PlantUML, Graphviz (DFD), Mermaid (Chromium), Kroki, формат, кэш includes
|
||
- **Шаблоны UML** — редактор `md2gost.schemes.json`
|
||
- **Справка → Инструкция / Документация / Схемы / Промпт для ИИ**
|
||
(Документация — встроенный просмотр `docs/*.md`, вшито в exe)
|
||
|
||
## Автотитульник
|
||
|
||
Кратко: **по умолчанию выкл.** Вкл. — `--auto-title` или галочка «Автотитул». Рядом с `.md` — `info_conv.yaml`, в MD — опциональный блок `title` (`number` / `year`), ФИО и группа — **Настройки → Студент…** или `--student` / `--group`. Явный `--title` отключает генератор.
|
||
|
||
Подробно (примеры, таблица полей, приоритеты, FAQ): **[title.md](title.md)**.
|
||
|
||
## Свойства файла Word
|
||
|
||
По умолчанию в DOCX пишутся **автор = имя пользователя Windows** и примечание «Создано при помощи md2gost (ТЗ МИРЭА)». Даты создания/изменения ставятся на момент сборки, revision = 1 (чтобы не утекали 2013 год и revision из шаблона).
|
||
|
||
Задать свои поля: **Настройки → Метаданные…** (сохраняется в `md2gost.user.json`) или флаги `--doc-author-from` / `--doc-author` / `--doc-title` / `--doc-subject` / `--doc-keywords` / `--doc-comments` / `--doc-category` / `--doc-last-modified-by`. Источник автора: `os` (по умолчанию), `student` (ФИО из профиля), `custom` (строка). Пустое `--doc-comments` / пустое примечание в GUI — не писать штамп md2gost.
|
||
|
||
## Другие форматы
|
||
|
||
```bash
|
||
python -m md2fodt report.md -o report.fodt # LibreOffice
|
||
python -m word2md report.docx -o report.md # Word → Markdown (диалект md2gost)
|
||
# PDF через LaTeX — см. md2latex/
|
||
```
|
||
|
||
Импорт DOCX подробнее: [word2md.md](word2md.md). В GUI — кнопка «Импорт DOCX→MD» или drop `.docx`.
|