Rename project to SSAU Generator and restructure content

- Move projects into content/<project>/{docx,pptx} with shared assets/
- Flatten config paths; output = project name in project folder
- Add pptx --init scaffold; remove docx exe build
- Add feature-complete content/example; ignore content/* except example
- Rewrite README and AGENTS.md
This commit is contained in:
2026-10-11 23:25:22 +04:00
parent 35611e2a91
commit bf7816ab7c
80 changed files with 1166 additions and 3432 deletions

View File

@@ -0,0 +1,24 @@
Настоящий документ — демонстрационный пример, который перечисляет все возможности
генератора DOCX. Исходный текст набирается в обычных Markdown-файлах, а оформление
полностью задаётся файлом `config.yaml` в соответствии с требованиями
СТО 02068410-004-2018 [@1].
Документ собирается из отдельных частей, перечисленных в разделе `sections`:
- структурные разделы без номера (введение, заключение);
- нумеруемые разделы с автоматической нумерацией заголовков;
- список использованных источников;
- приложения с буквенной нумерацией объектов.
Основные группы возможностей:
- форматирование текста и заголовков;
- списки, в том числе многоуровневые;
- таблицы — обычные и с подписью;
- рисунки — готовые изображения и схемы PlantUML;
- формулы с пояснениями;
- примечания, определения и перекрёстные ссылки.
Подробное описание каждого элемента приведено в разделе 1, примеры таблиц — в
разделе 2, сводные материалы — в приложении А. Оформление ссылок на источники
приведено в соответствии с действующими стандартами [@2], [@3].

View File

@@ -0,0 +1,104 @@
# ВОЗМОЖНОСТИ ГЕНЕРАТОРА
Раздел перечисляет все поддерживаемые элементы и показывает соответствующий
синтаксис Markdown. Нумерация заголовков, рисунков, таблиц и формул выполняется
автоматически.
## Заголовки и абзацы
Заголовок раздела задаётся одним символом `#`, подраздел — двумя `##`, пункт —
тремя `###`. Обычные абзацы разделяются пустой строкой.
### Третий уровень
Полужирный и курсив в оформлении по стандарту отключены, поэтому `**жирный**` и
`*курсив*` выводятся как обычный текст.
## Списки
- первый элемент списка;
- второй элемент с вложенными пунктами:
1. вложенный элемент, выводимый как «а)»;
2. ещё один вложенный элемент.
## Таблицы
Обычная таблица (без подписи и номера):
| Столбец A | Столбец B | Столбец C |
|---|---|---|
| 1 | 2 | 3 |
| 4 | 5 | 6 |
Таблица с подписью и автоматическим номером (ссылка — @tbl:features):
::: table "Возможности оформления" id=features note="Состав приведён условно"
| Элемент | Синтаксис | Результат |
|---|---|---|
| Таблица | `::: table` | Таблица с подписью |
| Рисунок | `::: figure` | Рисунок с подписью |
| Формула | `::: formula` | Нумерованная формула |
| Примечание | `::: note` | Примечание |
| Определения | `::: definitions` | Список терминов |
:::
## Рисунки
Готовое изображение вставляется директивой `figure`; файл ищется относительно
каталога `paths.assets`. Пример — рисунок @fig:diagram:
::: figure "Готовое изображение" id=diagram file=images/diagram.png
а) функциональные блоки;
б) направления связей.
:::
Схема PlantUML рендерится автоматически из исходного файла `.puml` — рисунок
@fig:flow:
::: figure "Схема PlantUML" id=flow file=images/flow.puml
:::
## Формулы
Формула с автоматическим номером и списком пояснений:
::: formula id=efficiency
K = (T_base - T_new)/T_base
:::
::: where
K — коэффициент снижения затрат;
T_base — исходное значение показателя;
T_new — достигнутое значение показателя.
:::
Ссылка на формулу: @eq:efficiency.
## Примечания и определения
::: note
Одиночное примечание к тексту.
:::
::: notes
- первое примечание;
- второе примечание.
:::
::: definitions
Термин — краткое определение термина;
Второй термин — ещё одно определение.
:::
## Перекрёстные ссылки
Записи @fig:diagram, @tbl:features и @eq:efficiency подставляют актуальные номера
рисунка, таблицы и формулы. Ссылки на источники оформляются как [@1] или
[@2, с. 10].
## Разрыв страницы
::: pagebreak
:::
Тематический разрыв `---` также трактуется как разрыв страницы.

View File

@@ -0,0 +1,18 @@
# ПРИМЕРЫ ТАБЛИЦ
Раздел показывает таблицы разной размерности. Широкая таблица @tbl:wide
заполняется данными из Markdown-строк.
::: table "Таблица с несколькими столбцами" id=wide
| № | Наименование | Тип | Значение | Единица |
|---|---|---|---|---|
| 1 | Первый параметр | Числовой | 125 | шт. |
| 2 | Второй параметр | Строковый | 18 | — |
| 3 | Третий параметр | Логический | да | — |
| 4 | Четвёртый параметр | Числовой | 420 | руб. |
:::
После таблицы можно продолжать обычный текст и списки:
- перечисление подтабличных пояснений;
- ещё один элемент списка.

View File

@@ -0,0 +1,14 @@
Демонстрационный документ перечислил все поддерживаемые генератором элементы
оформления по СТО 02068410-004-2018 [@1].
Основные результаты:
- показаны заголовки, абзацы и многоуровневые списки;
- приведены обычные и подписанные таблицы;
- вставлены готовое изображение и схема PlantUML;
- продемонстрированы формулы, примечания и определения;
- проверены ссылки на источники и перекрёстные ссылки на объекты.
Полный набор параметров оформления задаётся в файле `config.yaml`, а состав
документа — списком `sections`. Единицы измерений приведены в соответствии с
действующим стандартом [@4].

View File

@@ -0,0 +1,4 @@
- ГОСТ 7.32-2017. Система стандартов по информации, библиотечному и издательскому делу. Отчёт о научно-исследовательской работе. Структура и правила оформления. — М. : Стандартинформ, 2017. — 32 с.
- ГОСТ Р 7.0.5-2008. Библиографическая ссылка. Общие требования и правила составления. — М. : Стандартинформ, 2008. — 23 с.
- Иванов, И. И. Оформление отчётных документов : учебное пособие / И. И. Иванов. — Самара : Изд-во Самарского университета, 2019. — 184 с.
- ГОСТ 8.417-2002. Государственная система обеспечения единства измерений. Единицы величин. — М. : Стандартинформ, 2002. — 32 с.

View File

@@ -0,0 +1,17 @@
Сводные данные приведены в таблице @tbl:app-a. Номер таблицы в приложении
получает префикс буквы приложения.
::: table "Сводная таблица" id=app-a
| Показатель | Значение | Комментарий |
|---|---|---|
| Рисунков в приложении | 1 | См. @fig:app-a |
| Таблиц в приложении | 1 | Текущая таблица |
| Формул в приложении | 0 | — |
:::
Схема приложения приведена на рисунке @fig:app-a:
::: figure "Схема приложения" id=app-a file=images/scheme.png
а) элементы схемы;
б) связи между элементами.
:::

View File

@@ -0,0 +1,47 @@
# Демонстрационный проект генератора DOCX.
# Показывает все возможности оформления отчёта по СТО 02068410-004-2018.
# Все относительные пути считаются от каталога этого файла.
# Общие ресурсы проекта лежат выше, в ../assets, и используются и для docx, и для pptx.
document:
# Имя файла = имя проекта = имя папки проекта, в папке проекта.
output: ../example.docx
# Титульный лист — общий ресурс проекта.
titlePage: ../assets/title-page.docx
features:
updateFields: true
paths:
# Каталог рисунков; file=images/x.png ищется здесь.
assets: ../assets
plantuml:
enabled: true
java: auto
# plantuml.jar лежит в корне репозитория.
jar: ../../../tools/plantuml.jar
format: png
charset: UTF-8
cache: true
cacheDir: .plantuml-cache
timeoutMs: 30000
# Структура документа: порядок частей и их типы.
sections:
- type: toc
- file: 01-introduction.md
type: structural
title: Введение
- file: 02-features.md
type: numbered
- file: 03-tables.md
type: numbered
- file: 04-conclusion.md
type: structural
title: Заключение
- file: 05-bibliography.md
type: bibliography
- file: 06-appendix-a.md
type: appendix
letter: А
title: Демонстрационные материалы