Один текст на много площадок: обратный авторинг на ZennoPoster — приложение ко второй статье на
форуме ZennoLab (конкурс Master 9). Автор — Divisor. Лицензия MIT. Движок открыт:
github.com/investblog/spintax-dotnet (NuGet Spintax.Core). Первая статья и её архив (проекты
«автор» и «прод», демо-карточка) — отдельная тема; dll здесь те же.

Что в архиве
------------
template-3-markup\       проект «обратный авторинг»: готовый текст (файл рядом с проектом) ИИ Агент
                         размечает по абзацам, движок проверяет каждый абзац (страж формы, Validate,
                         линт на 8 рендерах), хост собирает шаблон — первый и последний абзацы на
                         месте, средние в перестановке, — затем 20 вариантов, линт на 50 документах
                         и файл .spintax.
                           lib\                      Spintax.Zenno.dll + Spintax.Core.dll, сборка net472 —
                                                     на них смотрит ссылка из GAC в проектах
                           template-3-markup.zp      проект разметки
                           template-3-production.zp  прод по таблице площадок (кубик шаблона 2 из
                                                     первой статьи, без правок)
                           05..70-*.cs               тела кубиков «C# код» (40/50/60 — те же, что у
                                                     проекта «автор» первой статьи)
                           prompts\                  канонические промпты, версия 4, уровень aggressive
                           source.ru.txt, source.en.txt  образцы исходного текста (описание сервиса)
                           platforms.csv             таблица площадок для прод-прогона (16 строк)
                           out\                      результат боевого прогона: шаблон, варианты,
                                                     meta, файлы по площадкам
                           README.md                 форма, переменные, схема кубиков, где это кончается

Установка
---------
1. Обе dll из template-3-markup\lib\ — в Progs\ExternalAssemblies папки ZennoPoster (если стоят
   проекты первой статьи — уже сделано, dll те же).
2. Перед заменой dll закройте ProjectMaker и ZennoPoster — сборка кешируется.
3. Папку template-3-markup положите куда угодно, добавьте проект template-3-markup.zp в
   ZennoPoster; ссылка на Spintax.Zenno.dll в проекте уже есть.
4. Правой кнопкой по проекту → «Настройки»: семь полей, для образца всё по умолчанию. Свой текст —
   файлом рядом с проектом (UTF-8, пустая строка между абзацами, не меньше трёх), имя файла в
   первом поле.

Проверено на ZennoPoster Pro 7.9.1.0; нужен кубик «ИИ Агент» (7.9+). Ключи ИИ-сервисов — в
настройках программы, в проектах их нет. Подробности — README.md внутри папки и статья.
