Об этом проекте

Filament Page Builder — это пакет Laravel, добавляющий визуальный редактор на холсте в админ-панели Filament. Он хранит содержимое страницы как упорядоченный массив типизированных блоков в одном JSON-столбце, при этом и холст, и нативный Builder формы Filament читают и записывают одни и те же данные. Ключевые возможности: - Полноэкранный редактор на холсте, доступный по адресу /{record}/design, с перетаскиванием блоков в секции и колонки - Встроенное редактирование простого текста прямо на холсте, с объявленными редактируемыми полями, которые отображаются как простая разметка на публичной странице - Инспектор стилей, использующий токены дизайна (отступы, ширина, фон, выравнивание), а не сырой CSS - Отмена/повтор, восстановление призраков и оптимистичная блокировка сохранения, откладывающая запись в базу данных до явного сохранения - Структура документа и адаптивный однопанельный редактор на мобильных устройствах Принципы дизайна подчёркивают, что пакет предоставляет механизм, а приложение владеет контентом. Он не поставляет модель Page или миграцию. Блоки — это классы, определяемые в приложении, свободные запрашивать модели и рендерить пользовательскую разметку. Единый реестр разрешает блоки в форме, на холсте и в публичном рендерере, обеспечивая согласованность. Неизвестные типы блоков пропускаются, а не вызывают фатальные ошибки, поэтому контент переживает изменения схемы. Пакет поставляет готовые к использованию ресурсы холста, зарегистрированные в его собственном пространстве имён, поэтому потребителям никогда не нужно запускать сборщик или иметь установленный Node. Встроенные типы блоков включают Section, text, image, button, embed, spacer и divider, при этом приложения регистрируют свои собственные блоки (например, Hero, RichText). Темизация поддерживает светлый/тёмный режим, следуя панели, с четырьмя CSS-переменными для настройки оформления. Холст можно направить на пользовательское представление стилей, чтобы соответствовать токенам дизайна публичного сайта. Таблицы стилей блоков должны быть подключены на публичном сайте для корректного рендеринга. Пакет поддерживает Filament 4.12.6+ и 5.x (v0.4.x из ветки main) и Filament 3.3.53+ (v0.3.x из ветки filament-3). Требуется PHP 8.3+. Переводы поставляются на английском, азербайджанском, французском, немецком, русском, испанском и турецком языках. Лицензирован под MIT.