# πŸ“„ SSAU Generator > **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` --- ## πŸ“‚ Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ``` 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 ``` > ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ β€” ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ ΠΏΠ°ΠΏΠΊΠ° `content/<ΠΏΡ€ΠΎΠ΅ΠΊΡ‚>/`. Π“ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ со всСми возмоТностями β€” [`content/example/`](content/example/). --- ## πŸ›  ВрСбования - **Node.js 18+** ΠΈ зависимости, устанавливаСмыС ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ `npm install` Π² `docx/` ΠΈ `pptx/` - **Java 11+** ΠΈ Ρ„Π°ΠΉΠ» `tools/plantuml.jar` β€” для Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° схСм PlantUML (`.puml`) --- ## πŸ“ Быстрый старт ```powershell 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 ``` Π“ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ со всСми возмоТностями β€” [`content/example/`](content/example/). --- ## 🎯 ИспользованиС ### Новый ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ создаётся ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ с Ρ„Π»Π°Π³ΠΎΠΌ `--init` β€” ΠΎΠ½ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ структуру ΠΈ ΠΎΠ±Ρ‰ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ рСсурсов `content/<ΠΏΡ€ΠΎΠ΅ΠΊΡ‚>/assets/`: ```powershell # Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ DOCX node docx/src/cli.js --content content/<ΠΏΡ€ΠΎΠ΅ΠΊΡ‚>/docx --init # Ρ‚ΠΎΠ»ΡŒΠΊΠΎ прСзСнтация PPTX node pptx/src/cli.js -c content/<ΠΏΡ€ΠΎΠ΅ΠΊΡ‚>/pptx/config.yaml --init ``` ### Π‘Π±ΠΎΡ€ΠΊΠ° ```powershell # Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ DOCX node docx/src/cli.js --content content/<ΠΏΡ€ΠΎΠ΅ΠΊΡ‚>/docx --check node docx/src/cli.js --content content/<ΠΏΡ€ΠΎΠ΅ΠΊΡ‚>/docx # ΠŸΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΡ 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/`, поэтому Ρ‚ΠΈΡ‚ΡƒΠ»ΡŒΠ½Ρ‹ΠΉ лист, Π·Π°Π΄Π½ΠΈΠΊΠΈ ΠΈ изобраТСния ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΎΠ±ΠΎΠΈΠΌΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ.