Перейти к содержанию

Редакционный дом: библиотека на Strapi 5

«Редакционный дом» — вымышленная headless-библиотека. Редактор работает в Strapi 5, отдельный Node-сайт читает опубликованные документы через закрытый Content API. Во всей серии сохраняются Анна Лесная, раздел «Вёрстка» и три статьи: «Сетка карточек CSS Grid», «Форма обратной связи», «Структура адресов библиотеки».

Предпосылки и версии

Нужны основы JavaScript, JSON, HTTP, командной строки и HTML. Полезно понимать переменные окружения и обычный серверный запрос. Авторские schema/config файлы копируются в JS-проект официального CLI; служебные файлы генератора сохраняются.

Выбран Strapi 5.57.0 по официальному релизу 07.10.2026, Node 24 LTS, SQLite 3. Документация прочитана 11.10.2026. Зависимости не установлены, lockfile не получен; native SQLite driver и platform compatibility требуют будущей локальной установки. REST 5 использует плоский data, documentId, status и locale; Public/Authenticated Content API остаются закрытыми.

Последовательность уроков

Каждый урок опирается на предыдущий результат. Новые имена не подменяют исходные данные; пример постепенно усложняется.

№ Урок Новый результат
1 Границы headless-библиотеки и локальное окружение Разделены CMS, сервер сайта и браузер
2 Коллекция статей и устойчивые поля Схема Article и первый черновик
3 Авторы и разделы как связи Author и Category связаны с Article
4 Компоненты SEO и учебных ресурсов Article содержит повторяемые Resources и SEO
5 Обложка, подпись и доступность медиа Публичная обложка отделена от секретных вложений
6 REST API и идентификатор документа Серверный запрос читает published по documentId
7 Фильтры, сортировка и страницы каталога Предсказуемая выборка с ограниченным размером
8 Черновик и опубликованная версия Изменения сохраняются отдельно от публикации
9 Роли редакции и серверные токены Public закрыт, токены ограничены операциями
10 Локали и связанные переводы Версии ru и en запрашиваются явно
11 Шаблоны отдельного сайта-потребителя Node-сервер отдаёт каталог и страницы без токена в HTML
12 Закрытый предпросмотр черновика Подписанная ссылка открывает короткий private preview
13 Webhooks и повторная доставка события Подлинное событие сохраняется идемпотентно
14 Начальные данные и экспорт содержимого Fixtures импортируются как drafts, экспорт описан отдельно
15 Резервная копия и изменение схемы Составлена обратимая процедура изменения
16 Передача редакционной библиотеки Выпуск описывает версии, права и непроверенные границы

Учебные исходники

Скачать ZIP серии.

В ZIP входят полные config/schema/components, стандартные controller/service/router, snapshots уроков 2–5, fixtures, SVG учебной схемы, import script, отдельный site, матрица прав и restore/release specs. Fixtures не являются штатным Strapi export. Ru locale настраивается до импорта, cover и en-перевод добавляются вручную. Секретов, базы, uploads и установленного node_modules нет.

Статус выполнения

example_execution: not_run. Примеры, UI и команды не выполнялись. Ожидаемые ответы и состояния не выдаются за наблюдённые. Локальный набор сохраняет draft-статус; сборка, тесты и внешняя публикация в подготовку не входят.

Не проверены CLI installation, admin build, Content Manager UI, REST responses, import, публикация, locales, preview и webhook delivery. Нет production HTTPS/cache/search/worker. Plain text renderer не отображает cover/SEO/resources, хотя данные запрашиваются. Media URL не наследует приватность draft. Signed preview даёт временный bearer access к текущему draft, не snapshot/approval. Inbox подавляет точные byte-повторы, не гарантирует exactly-once полезное действие.

Все прикладные серии.