Синхронизация юридических текстов (SPA ↔ docs)¶
Два канала публикации¶
| Канал | Аудитория | Путь |
|---|---|---|
| SPA | Пользователи сайта | /legal/:slug, контент в frontend/src/content/legal/ |
| MkDocs | Разработчики, контрибьютеры | docs/legal/*.md, сборка в site/ |
Тексты должны совпадать по смыслу. Юридически значимая публикация для пользователя — SPA; docs — для команды и ревью.
Процедура изменения¶
- Отредактировать русский модуль:
frontend/src/content/legal/ru/<slug>.js. - При необходимости — английский:
frontend/src/content/legal/en/<slug>.js. - Скопировать содержание разделов в
docs/legal/<соответствующий>.md(заменить{{operatorName}}на «Команда проекта Konstructorium» или актуальное из env). - Обновить
version/effectiveDateв обоих местах. - Обновить
VITE_LEGAL_DOCUMENT_VERSIONвfrontend/.env.exampleиENV_FILES.md. - Прогнать
npm test(legal content) иmkdocs build --strict.
Соответствие slug ↔ файлов¶
| slug | JS (ru) | docs/legal |
|---|---|---|
privacy |
ru/privacy.js |
privacy-policy.md |
cookies |
ru/cookies.js |
cookie-policy.md |
terms |
ru/terms.js |
terms-of-use.md |
offer |
ru/offer.js |
public-offer.md |
seller-terms |
ru/seller-terms.js |
seller-rules.md |
content-license |
ru/content-license.js |
content-license.md |
imprint |
ru/imprint.js |
imprint.md |
Автоматизация (не реализована)¶
Генерация markdown из JS или наоборот возможна скриптом, но сейчас ручная синхронизация — чтобы ревьюер видел diff в обоих каналах.