Как это устроено
В Seamlet три участника, и у каждого своя работа.
Обычный проект разработчика: свой дизайн, свои компоненты, свой хостинг. Сайт описывает, какой контент в нём можно править, — схемой: заголовок, подзаголовок, фото первого экрана, меню из блюд с ценами. И отмечает в разметке, какой элемент показывает какое поле.
Контент сайт берёт из CMS: опубликованную версию — когда собирается для посетителей, черновик — когда его показывает редактор.
Хранит контент сайтов и пускает людей: у каждого клиента свои сайты, свой пароль. По схеме сайта CMS сама строит форму правки и проверяет каждое сохранение. Про дизайн и устройство сайта она ничего не знает и ничего из него у себя не хранит.
Предпросмотр
Заголовок раздела «Предпросмотр»Страницы сайта по адресу /preview, которые умеют одно: показать страницу с черновиком, не сохраняя его. Редактор CMS встраивает предпросмотр в рамку и рисует поверх свои подписи, рамки и окна. Каждая правка уходит в предпросмотр, и сайт перерисовывает страницу своим же кодом — поэтому человек видит ровно то, что увидят посетители.
Предпросмотр добавляет пакет @seamlet/astro. Встраивать его в рамку может только ваша CMS, поисковики его не индексируют.
Сохранить и опубликовать
Заголовок раздела «Сохранить и опубликовать»- Сохранить — правки остаются в CMS. Каждое сохранение — новая версия: в «Истории» видно, кто и когда сохранял, любую версию можно вернуть. Если двое правят сайт одновременно, CMS не даст одному молча затереть другого.
- Опубликовать — сохранённая версия уходит на сайт. CMS запускает сборку сайта (workflow GitHub Actions в его репозитории), сборка берёт опубликованный контент и выкладывает сайт на хостинг. Пока сайт не опубликован впервые, он показывает свой начальный контент.
Подробнее — публикация.