mirror of
https://github.com/StepanovPlaton/SSAUGenerator.git
synced 2026-10-31 10:18:29 +04:00
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:
24
content/example/docx/01-introduction.md
Normal file
24
content/example/docx/01-introduction.md
Normal file
@@ -0,0 +1,24 @@
|
||||
Настоящий документ — демонстрационный пример, который перечисляет все возможности
|
||||
генератора DOCX. Исходный текст набирается в обычных Markdown-файлах, а оформление
|
||||
полностью задаётся файлом `config.yaml` в соответствии с требованиями
|
||||
СТО 02068410-004-2018 [@1].
|
||||
|
||||
Документ собирается из отдельных частей, перечисленных в разделе `sections`:
|
||||
|
||||
- структурные разделы без номера (введение, заключение);
|
||||
- нумеруемые разделы с автоматической нумерацией заголовков;
|
||||
- список использованных источников;
|
||||
- приложения с буквенной нумерацией объектов.
|
||||
|
||||
Основные группы возможностей:
|
||||
|
||||
- форматирование текста и заголовков;
|
||||
- списки, в том числе многоуровневые;
|
||||
- таблицы — обычные и с подписью;
|
||||
- рисунки — готовые изображения и схемы PlantUML;
|
||||
- формулы с пояснениями;
|
||||
- примечания, определения и перекрёстные ссылки.
|
||||
|
||||
Подробное описание каждого элемента приведено в разделе 1, примеры таблиц — в
|
||||
разделе 2, сводные материалы — в приложении А. Оформление ссылок на источники
|
||||
приведено в соответствии с действующими стандартами [@2], [@3].
|
||||
104
content/example/docx/02-features.md
Normal file
104
content/example/docx/02-features.md
Normal 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
|
||||
:::
|
||||
|
||||
Тематический разрыв `---` также трактуется как разрыв страницы.
|
||||
18
content/example/docx/03-tables.md
Normal file
18
content/example/docx/03-tables.md
Normal file
@@ -0,0 +1,18 @@
|
||||
# ПРИМЕРЫ ТАБЛИЦ
|
||||
|
||||
Раздел показывает таблицы разной размерности. Широкая таблица @tbl:wide
|
||||
заполняется данными из Markdown-строк.
|
||||
|
||||
::: table "Таблица с несколькими столбцами" id=wide
|
||||
| № | Наименование | Тип | Значение | Единица |
|
||||
|---|---|---|---|---|
|
||||
| 1 | Первый параметр | Числовой | 125 | шт. |
|
||||
| 2 | Второй параметр | Строковый | 18 | — |
|
||||
| 3 | Третий параметр | Логический | да | — |
|
||||
| 4 | Четвёртый параметр | Числовой | 420 | руб. |
|
||||
:::
|
||||
|
||||
После таблицы можно продолжать обычный текст и списки:
|
||||
|
||||
- перечисление подтабличных пояснений;
|
||||
- ещё один элемент списка.
|
||||
14
content/example/docx/04-conclusion.md
Normal file
14
content/example/docx/04-conclusion.md
Normal file
@@ -0,0 +1,14 @@
|
||||
Демонстрационный документ перечислил все поддерживаемые генератором элементы
|
||||
оформления по СТО 02068410-004-2018 [@1].
|
||||
|
||||
Основные результаты:
|
||||
|
||||
- показаны заголовки, абзацы и многоуровневые списки;
|
||||
- приведены обычные и подписанные таблицы;
|
||||
- вставлены готовое изображение и схема PlantUML;
|
||||
- продемонстрированы формулы, примечания и определения;
|
||||
- проверены ссылки на источники и перекрёстные ссылки на объекты.
|
||||
|
||||
Полный набор параметров оформления задаётся в файле `config.yaml`, а состав
|
||||
документа — списком `sections`. Единицы измерений приведены в соответствии с
|
||||
действующим стандартом [@4].
|
||||
4
content/example/docx/05-bibliography.md
Normal file
4
content/example/docx/05-bibliography.md
Normal file
@@ -0,0 +1,4 @@
|
||||
- ГОСТ 7.32-2017. Система стандартов по информации, библиотечному и издательскому делу. Отчёт о научно-исследовательской работе. Структура и правила оформления. — М. : Стандартинформ, 2017. — 32 с.
|
||||
- ГОСТ Р 7.0.5-2008. Библиографическая ссылка. Общие требования и правила составления. — М. : Стандартинформ, 2008. — 23 с.
|
||||
- Иванов, И. И. Оформление отчётных документов : учебное пособие / И. И. Иванов. — Самара : Изд-во Самарского университета, 2019. — 184 с.
|
||||
- ГОСТ 8.417-2002. Государственная система обеспечения единства измерений. Единицы величин. — М. : Стандартинформ, 2002. — 32 с.
|
||||
17
content/example/docx/06-appendix-a.md
Normal file
17
content/example/docx/06-appendix-a.md
Normal 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
|
||||
а) элементы схемы;
|
||||
б) связи между элементами.
|
||||
:::
|
||||
47
content/example/docx/config.yaml
Normal file
47
content/example/docx/config.yaml
Normal 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: Демонстрационные материалы
|
||||
Reference in New Issue
Block a user