Скрипторий — конструктор подарочной книги
Веб-редактор, в котором команда верстает подарочное издание «Дневника» Клавихо: компоненты оформления, совместная правка, PDF и согласование страниц
- Моя роль
- Автор: вёрстка книги и редактор
- Период
- 2026 — н.в.
- Заказчик
- Центр исламской цивилизации в Узбекистане
Центр исламской цивилизации готовит подарочное издание «Дневника путешествия в Самарканд ко двору Амира Темура» Руи Гонсалеса де Клавихо: формат 240×330 мм, 22 главы и эпилог, оформление в духе европейской иллюминированной рукописи XV века. На мне техническая часть книги. Сначала я собирал вёрстку скриптами на Python и за 30 сборок отработал шрифт Monomakh, рамки, бумагу и факсимиле. Текст в каждой сборке сверялся с исходником слово в слово по текстовому слою PDF.
Скриптами книгу правит только разработчик, а дизайнерам и редакторам нужно менять её самим. Поэтому я пишу Скрипторий — веб-редактор, в котором страница собирается из готовых компонентов: бумаги, рамок, заставок, буквиц, миниатюр, факсимиле и текста. Над книгой одновременно работают несколько человек, все правки сохраняются на сервере с полной историей, а страницы согласуются через рабочую группу в Telegram.
Что сделано
- Редактор на React 19: слои страницы с точностью до миллиметра, сетка, магнит, правка разворота, обтекание иллюстраций текстом
- Совместная правка в реальном времени: комнаты на WebSocket, слияние изменений по полям, конфликты без потери чужих правок
- PDF собирается в браузере: встроенные шрифты и выделяемый Unicode-текст поверх оформления
- Библиотека из 449 компонентов, из них 132 буквицы в четырёх оформлениях; загрузка PSD и TIFF до 5 ГБ с переводом CMYK в sRGB
- История книги: неизменяемые снимки версий, журнал действий с цепочкой хешей, личные аккаунты
- API для ИИ-ассистентов по OpenAPI: синхронизация с подтверждением, защита от устаревших правок, удалять ключам нельзя
- Согласование через Telegram: бот архивирует переписку группы в SQLite и зашифрованное S3, решения по страницам привязаны к сообщениям
- 72 теста и 13 браузерных сценариев на Playwright; деплой готовым образом из GHCR с откатом по healthcheck