Перейти к содержимому

Как это устроено

В Seamlet три участника, и у каждого своя работа.

Обычный проект разработчика: свой дизайн, свои компоненты, свой хостинг. Сайт описывает, какой контент в нём можно править, — схемой: заголовок, подзаголовок, фото первого экрана, меню из блюд с ценами. И отмечает в разметке, какой элемент показывает какое поле.

Контент сайт берёт из CMS: опубликованную версию — когда собирается для посетителей, черновик — когда его показывает редактор.

Хранит контент сайтов и пускает людей: у каждого клиента свои сайты, свой пароль. По схеме сайта CMS сама строит форму правки и проверяет каждое сохранение. Про дизайн и устройство сайта она ничего не знает и ничего из него у себя не хранит.

Страницы сайта по адресу /preview, которые умеют одно: показать страницу с черновиком, не сохраняя его. Редактор CMS встраивает предпросмотр в рамку и рисует поверх свои подписи, рамки и окна. Каждая правка уходит в предпросмотр, и сайт перерисовывает страницу своим же кодом — поэтому человек видит ровно то, что увидят посетители.

Предпросмотр добавляет пакет @seamlet/astro. Встраивать его в рамку может только ваша CMS, поисковики его не индексируют.

  • Сохранить — правки остаются в CMS. Каждое сохранение — новая версия: в «Истории» видно, кто и когда сохранял, любую версию можно вернуть. Если двое правят сайт одновременно, CMS не даст одному молча затереть другого.
  • Опубликовать — сохранённая версия уходит на сайт. CMS запускает сборку сайта (workflow GitHub Actions в его репозитории), сборка берёт опубликованный контент и выкладывает сайт на хостинг. Пока сайт не опубликован впервые, он показывает свой начальный контент.

Подробнее — публикация.