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:
136
README.md
136
README.md
@@ -1,47 +1,125 @@
|
||||
# lab_gen — генераторы отчётных документов
|
||||
# 📄 SSAU Generator
|
||||
|
||||
Монорепозиторий из двух независимых Node.js-генераторов, которые собирают
|
||||
отчётные документы из обычного Markdown по заданному шаблону/стандарту.
|
||||
> **SSAU Generator** — это два независимых генератора отчётных документов из обычного **Markdown**: **DOCX**-отчёт по СТО 02068410-004-2018 и **PPTX**-презентация по шаблону Самарского университета.
|
||||
>
|
||||
> Главное — это **модульность** и **воспроизводимая сборка**: содержимое задаётся Markdown и `config.yaml`, а не правками кода.
|
||||
|
||||
---
|
||||
|
||||
## 📦 Состав
|
||||
|
||||
- **`docx/`** — генератор документов **DOCX** по дизайну СТО 02068410-004-2018
|
||||
- Титульный лист, оглавление, таблицы, рисунки (включая PlantUML), формулы, список источников и приложения
|
||||
- **`pptx/`** — генератор презентаций **PPTX** по фирменному шаблону Самарского университета
|
||||
- 16:9, синий фон, задники, логотип и фирменный шрифт заданы в `config.yaml`
|
||||
- **`tools/plantuml.jar`** — общий рендерер схем PlantUML (не хранится в git)
|
||||
- **`content/`** — проекты пользователя: `content/<проект>/{docx,pptx}` и общие ресурсы `content/<проект>/assets/`
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Возможности
|
||||
|
||||
### 📄 Документ DOCX
|
||||
|
||||
- Сборка из **обычного Markdown** по фиксированному дизайну СТО 02068410-004-2018
|
||||
- Готовый **титульный лист** (отдельный `.docx`) и **оглавление** (поле Word)
|
||||
- Автоматическая **нумерация** разделов, рисунков, таблиц, формул и приложений
|
||||
- **Таблицы** — обычные и с подписью и автономером
|
||||
- **Рисунки** — готовые PNG и схемы **PlantUML**, рендеримые автоматически
|
||||
- **Формулы** с пояснениями и нумерацией
|
||||
- **Ссылки на источники** и перекрёстные ссылки на номера объектов
|
||||
- Примечания, определения, приложения с буквенной нумерацией
|
||||
|
||||
### 📽️ Презентация PPTX
|
||||
|
||||
- Сборка из **Markdown**, по одному файлу на слайд
|
||||
- Четыре типа слайдов: **титульный, разделитель, контент, финальный** — каждый со своим фоном
|
||||
- **Богатая inline-разметка**: полужирный, курсив, акцент, моноширинный
|
||||
- **Таблицы, изображения и PlantUML**, схемы-цепочки, карточки-метрики, плашки-выводы
|
||||
- **Диаграммы** (bar, line, pie, doughnut, area, radar, scatter) из GFM-таблиц
|
||||
- **Заметки докладчика** как сценарий выступления
|
||||
- Двухколоночная вёрстка через параметр `side=left|right`
|
||||
|
||||
---
|
||||
|
||||
## 📂 Структура
|
||||
|
||||
```
|
||||
lab_gen/
|
||||
├── docx/ # генератор DOCX по СТО 02068410-004-2018 (отчёт)
|
||||
├── pptx/ # генератор PPTX по шаблону Самарского университета (презентация)
|
||||
└── tools/ # общие внешние инструменты (plantuml.jar)
|
||||
ssau-generator/
|
||||
├── docx/ # генератор DOCX (только код)
|
||||
├── pptx/ # генератор PPTX (только код)
|
||||
├── tools/ # общий plantuml.jar (не в git)
|
||||
├── content/ # проекты (в git хранится только example)
|
||||
│ └── example/
|
||||
│ ├── assets/ # общие ресурсы проекта (для docx и pptx)
|
||||
│ ├── docx/ # config.yaml + *.md
|
||||
│ └── pptx/ # config.yaml + slides/
|
||||
├── AGENTS.md # инструкции по управлению проектом
|
||||
└── README.md
|
||||
```
|
||||
|
||||
## docx/ — DocxGenerator
|
||||
> Каждый проект — отдельная папка `content/<проект>/`. Готовый пример со всеми возможностями — [`content/example/`](content/example/).
|
||||
|
||||
Автономный генератор отчётов **DOCX** из Markdown по дизайну
|
||||
СТО 02068410-004-2018. Поддерживает титульный лист, оглавление, таблицы, рисунки
|
||||
(включая PlantUML), формулы, список источников и приложения.
|
||||
---
|
||||
|
||||
## 🛠 Требования
|
||||
|
||||
- **Node.js 18+** и зависимости, устанавливаемые командой `npm install` в `docx/` и `pptx/`
|
||||
- **Java 11+** и файл `tools/plantuml.jar` — для рендеринга схем PlantUML (`.puml`)
|
||||
|
||||
---
|
||||
|
||||
## 📝 Быстрый старт
|
||||
|
||||
```powershell
|
||||
cd docx
|
||||
npm install
|
||||
npm run check # проверка конфига и ссылок
|
||||
npm run generate # собрать report.docx
|
||||
npm install --prefix docx
|
||||
npm install --prefix pptx
|
||||
|
||||
# Документ DOCX
|
||||
node docx/src/cli.js --content content/example/docx
|
||||
|
||||
# Презентация PPTX
|
||||
node pptx/src/cli.js -c content/example/pptx/config.yaml
|
||||
```
|
||||
|
||||
Полная документация — [docx/AGENTS.md](docx/AGENTS.md).
|
||||
Готовый пример со всеми возможностями — [`content/example/`](content/example/).
|
||||
|
||||
## pptx/ — lab-gen-pptx
|
||||
---
|
||||
|
||||
Генератор презентаций **PPTX** из Markdown по фирменному шаблону Самарского
|
||||
университета (16:9, синий фон, логотип, фирменный шрифт). Задники и правила
|
||||
оформления извлечены из `presentation_16.pptx` и заданы в `config.yaml`.
|
||||
## 🎯 Использование
|
||||
|
||||
### Новый проект
|
||||
|
||||
Проект создаётся командами с флагом `--init` — они формируют структуру и общий каталог ресурсов `content/<проект>/assets/`:
|
||||
|
||||
```powershell
|
||||
cd pptx
|
||||
npm install
|
||||
npm run check # проверка конфига и ссылок
|
||||
npm run generate # собрать presentation.pptx
|
||||
# только документ DOCX
|
||||
node docx/src/cli.js --content content/<проект>/docx --init
|
||||
|
||||
# только презентация PPTX
|
||||
node pptx/src/cli.js -c content/<проект>/pptx/config.yaml --init
|
||||
```
|
||||
|
||||
Формат слайдов, схема конфига и CLI описаны в [pptx/AGENTS.md](pptx/AGENTS.md).
|
||||
### Сборка
|
||||
|
||||
## Требования
|
||||
```powershell
|
||||
# Документ DOCX
|
||||
node docx/src/cli.js --content content/<проект>/docx --check
|
||||
node docx/src/cli.js --content content/<проект>/docx
|
||||
|
||||
- Node.js 18+ (для локальной сборки).
|
||||
- Java 11+ и `tools/plantuml.jar` — для рендеринга схем PlantUML (`.puml`)
|
||||
в обоих генераторах. Путь задаётся ключом `plantuml.jar` в `config.yaml`.
|
||||
# Презентация PPTX
|
||||
node pptx/src/cli.js -c content/<проект>/pptx/config.yaml --check
|
||||
node pptx/src/cli.js -c content/<проект>/pptx/config.yaml
|
||||
```
|
||||
|
||||
Результат собирается в папку проекта и называется по имени проекта: `content/<проект>/<проект>.docx` и `content/<проект>/<проект>.pptx`.
|
||||
|
||||
---
|
||||
|
||||
## 📚 Документация
|
||||
|
||||
- Управление проектом: [AGENTS.md](AGENTS.md)
|
||||
- Формат DOCX-документа: [docx/AGENTS.md](docx/AGENTS.md)
|
||||
- Формат PPTX-презентации: [pptx/AGENTS.md](pptx/AGENTS.md)
|
||||
|
||||
> 💡 **Важно:** Документ и презентация используют общий каталог ресурсов `content/<проект>/assets/`, поэтому титульный лист, задники и изображения переиспользуются обоими генераторами.
|
||||
|
||||
Reference in New Issue
Block a user