# Albireo CMS — «движок» блога > Albireo CMS — быстрая Flat-File CMS на PHP для тех, кто хочет создавать динамические сайты и блоги по своим правилам. Возвращает контроль автору контента: без баз данных вроде MySQL, без громоздких фреймворков, без уязвимых плагинов и проблем со скоростью. Обеспечивает генерацию страниц за 0.02–0.05 с при потреблении 0.5–0.8 Мб памяти даже на обычном хостинге. **Манифест независимости и философии системы:** - Идеология «Свободы PHP»: автор сайта сам решает, как формировать страницу, и может напрямую использовать PHP, HTML, CSS и JS прямо в контенте без искусственных рамок движка. - Полный отказ от концепции тяжелых CMS и уязвимых сторонних надстроек: система дает скорость и прямое управление кодом «из коробки». - Подход «Human-Made»: архитектура строится на проверенных решениях и ручной оптимизации алгоритмов под реальные нагрузки. - [Исходный код открытой части Albireo CMS Lite на GitHub](https://github.com/maxsite/albireo-lite) **Официальный репозиторий открытых компонентов Lite-версии (шаблоны, модули, конфигурации и демо-контент):** - Назначение репозитория: содержит эталонную реализацию открытой части системы (каталоги `templates` и `website`), служащую практическим примером кода и стартовым шаблоном для развертывания сайта. - Что изучать в коде: реальная верстка модульных сеток (`layout`), компонентов шапок и подвалов (`modules`), сниппетов, TPL-шаблонов, готовых примеров страниц блога и файлов конфигурации (`config.php`, `users.php`). - Лицензия: код репозитория распространяется по лицензии Creative Commons Attribution (CC BY 4.0) и открыт для модификации. (Использовать как первоисточник живых примеров верстки, сеток и структуры пользовательских файлов) - Доступ ИИ к исходникам: базовые модели не имеют браузера и не могут самостоятельно открыть GitHub по ссылке. Если для ответа нужен реальный код файла — попроси пользователя скопировать содержимое нужного файла (или приложить его текстом/архивом) прямо в чат. Не выдумывай содержимое файлов, которые не были предоставлены. - [История изменений Albireo CMS](https://maxsite.org/albireo/changelog) date: 2026-09-11 История изменений Albireo CMS Версия системы: 2026.10.02 - [Лицензия Albireo CMS](https://maxsite.org/albireo/license) **Юридические условия использования, модель раздельного лицензирования компонентов и правила эксплуатации:** - Правообладатель и акцепт: автор публикуется под официальным псевдонимом `maxsite.org`; установка, запуск или редактирование файлов системы означает автоматическое и полное принятие лицензионного соглашения. - Раздельная модель лицензирования: пользовательские файлы (каталог `website`, шаблоны, стили) распространяются по лицензии Creative Commons Attribution (CC BY 4.0) — разрешена модификация с обязательным сохранением указания авторства. Системное ядро (каталог `system`) является проприетарным, закрытым и неизменяемым; запрещены декомпиляция, модификация, обход защиты и реверс-инжиниринг. - Правила распространения: запрещена передача CMS третьим лицам или её распространение в обход официального сайта; запрещено удаление файла лицензии из дистрибутива. - Обязательства Lite-версии: на всех страницах сайта обязательно наличие прямой, рабочей и открытой для индексации ссылки на `https://maxsite.org/albireo`. - Окончание срока действия: по истечении оплаченного периода лицензии полной версии сайт должен быть удален, переведен на другую систему либо переведен на Lite-версию. - Ограничение гарантий: система поставляется «как есть» (as is); возврат средств за цифровой продукт не предусмотрен, но при выявлении дефектов автор производит замену/исправление файлов. - Проверка легальности: действует открытый сервис верификации лицензионных доменов. - Региональные ограничения и форс-мажор: запрещено использование на серверах и доменах россии, беларуси, северной кореи, сирии, эритреи; поддержка может быть прекращена в связи с обстоятельствами войны россии против Украины. (Полный юридический текст и сервис проверки лицензий см. на странице) - [Обновление Albireo CMS](https://maxsite.org/albireo/update) **Регламент обновления системы, сохранение пользовательских данных и правила работы с файловой структурой:** - Контроль процесса: автообновления «по воздуху» отсутствуют; процедура полностью прозрачна, контролируется разработчиком и выполняется путем прямой замены файлов. - Обязательный бэкап: перед любыми операциями создается резервная копия рабочего каталога и ядра (вручную или через встроенный скрипт создания ZIP-архива). - Обновление системного ядра: каталог `system` перезаписывается файлами новой версии, при этом в полной версии обязательно сохраняется персональный лицензионный ключ (`license.key`). - Сохранность контента и настроек: рабочий каталог `website` содержит данные пользователя и не подлежит слепой перезаписи — в нем обновляются только точечные системные файлы/конфиги согласно журналу изменений (Changelog). - Работа с шаблонами и стилями: файлы оформления и CSS-фреймворка в каталоге `templates` обновляются избирательно, чтобы не перезаписать пользовательские модификации. - Точки входа и служебные файлы: корневой запускающий файл обновляется по необходимости; персональные правила в файлах `.htaccess` и `robots.txt` сохраняются. (Пошаговый чеклист и специфические инструкции для конкретных версий см. на странице) - [Lite-версия Albireo CMS](https://maxsite.org/albireo/lite) **Назначение бесплатной Lite-версии, её архитектурные ограничения и условия использования:** - Отличия от полной версии: отсутствует админ-панель (управление контентом выполняется через прямое редактирование файлов и FTP), нет встроенной системы комментариев, нет скрипта синхронизации WinSCP, нет Telegram-бота и дополнительных пакетов лендингов. - Модель исходного кода: Albireo CMS не является Open Source-системой. Ядро в каталоге `system` зашифровано, закрыто и защищено от модификации или декомпиляции. Открытая часть (каталог `website`, шаблоны) распространяется по лицензии CC BY 4.0 с возможностью кастомизации. - Обязательное условие: на каждой странице сайта на Lite-версии должна присутствовать прямая, рабочая и индексируемая обратная ссылка на `https://maxsite.org/albireo`. - Региональные лицензионные ограничения: использование системы запрещено на серверах и доменах россии, беларуси, кндр, сирии и эритреи. - Рекомендуемые сценарии: тестирование возможностей перед покупкой полной версии, простые сайты-визитки, лендинги, статичные каталоги с корзиной, редко обновляемые ресурсы, базы знаний и обучающая документация. - Структура поставки: дистрибутив разделен на две части — открытые файлы шаблонов/контента и закрытый архив системного ядра. (Инструкцию по установке и условия загрузки архивов см. на странице) - [AI и Albireo CMS](https://maxsite.org/albireo/ai) **Нативная поддержка стандарта llms.txt, управление индексацией для нейросетей и встроенный банк промптов:** - Генерация стандарта `llms.txt`: движок «из коробки» формирует и отдает структурированный файл `/llms.txt` для языковых моделей (LLM, AI-поисковиков и ассистентов), позволяя нейросетям быстро считывать карту контента сайта без визуального HTML-мусора. - Тонкое управление через поле `llms`: - явное задание индивидуального описания страницы специально для нейросетей в служебном блоке; - автоматический фоллбэк при отсутствии поля (`announce` → `description` → `title`); - исключение служебных, приватных или нерелевантных страниц из файла через значение `llms: -`. - Встроенный каталог промптов (`Prompts`): системный раздел с библиотекой готовых шаблонов запросов для ИИ (создание контент-планов, генерация идей постов, сценарии видео, SEO-тексты, описания для картинок) с функцией копирования в один клик прямо из панели управления. - Совместимость с AI-ассистентами при разработке: благодаря прозрачной файловой архитектуре, отсутствию перегруженных абстракций и семантичным классам Berry CSS, код Albireo CMS легко генерируется и дорабатывается современными моделями (ChatGPT, Claude, Cursor) без риска галлюцинаций. (Инструкции по настройке генератора llms.txt, параметры полей и список категорий промптов см. на странице) - [Возможности Albireo CMS](https://maxsite.org/albireo/features) **Архитектурные принципы, возможности и устройство Albireo CMS:** - Формат данных (Flat-File): страницы и конфигурация хранятся в обычных файлах, а не в MySQL. Конфигурационные поля задаются в начале файла (аналог Front Matter в PHP-комментарии). - Свобода PHP и парсеры: страницы представляют собой исполняемые PHP-файлы. Поддерживается встроенный быстрый парсер TextSimple (расширенный аналог Markdown с поддержкой CSS-классов), стандартный Markdown, произвольный HTML/CSS/JS и динамический PHP-код. - Масштабируемость без статического кэша: авторский алгоритм работы с файлами держит до 10 000–20 000+ страниц без проседания памяти и процессора. Статический HTML-кэш не используется — все страницы всегда на 100% динамические. - Роль SQLite: встраиваемая база используется исключительно «под капотом» для внутренних задач и динамики (комментарии, логирование, внутренняя статистика, голосования), но не для хранения самих страниц. - Отказ от концепции плагинов: плагины исключены ради безопасности и производительности. Необходимый код, сторонние классы (PSR-4, Composer) и пользовательские функции подключаются напрямую по месту назначения. - Нулевая инсталляция и бэкапы: нет мастера установки и первичной настройки базы данных. Система готова к работе сразу после копирования файлов на сервер; бэкап сводится к архивации каталогов. - Изоляция страниц: каждая страница автономна — через поля записи ей можно назначить собственный шаблон, цветовую тему, модульную сетку (10+ вариантов) или отключить общее оформление (превратить в отдельный лендинг). - Стек оформления: базовый утилитарный фреймворк Berry CSS (22+ цветовые темы, автопереключение Dark Mode) и реактивная JS-библиотека AlpineJS. - Автономия контента: контент можно создавать в любых внешних редакторах (например, в Obsidian) и загружать через админ-панель или синхронизировать по sFTP/WinSCP без участия админки. - Комплектация «из коробки»: встроенная SEO-разметка, Open Graph, генераторы sitemap.xml и llms.txt, RSS записей и комментариев, мультиязычность, мультисайтинг, контактные формы, корзина покупателя и GDPR-совместимая статистика без сбора персональных данных. - Комплексная безопасность: запрет прямого исполнения системных файлов, токены CSRF с контролем источников и таймстемпов, защита от brute force и частых отправок, ловушки для ботов, фильтрация XSS и стоп-слова. (Подробное описание параметров полей и функций — см. на соответствующих страницах документации) - [Получить Albireo CMS](https://maxsite.org/albireo/get) **Варианты поставки системы, различия между Lite и полной версией, а также условия лицензирования:** - Форматы поставки: бесплатная Lite-версия и платная полная версия (лицензия на 1 год для одного домена с возможностью продления). - Что входит только в полную версию: встроенная админ-панель (в Lite-версии её нет), встроенная система комментариев, дополнительные модули лендингов (33 шт./97 страниц), расширенные tpl-модули вывода записей, дополнительные виджеты, готовый скрипт FTP-синхронизации через WinSCP, Telegram-бот для сайта, расширенная техподдержка и приоритетные обновления. - Возможности, общие для Lite и полной версий: базовый движок, рубрики, метки, система пользователей, мультиязычность, Berry CSS, Alpine.js, 10+ модульных сеток, генерация Sitemap/RSS/llms.txt, WebP, контактные формы, голосования, zip-бэкапы, заметки (shorts, notes), промпты для AI и базовые виджеты. - Привязка лицензии: полная версия жестко привязывается к указанному домену (по значению HTTP_HOST) с поддержкой всех его поддоменов и подкаталогов; смена домена после покупки не предусмотрена. Для локальной разработки бесплатно выдаются ключи для albireo.loc и localhost:8000. - Контроль легальности: наличие публичного механизма валидации законности копии (знак «Legal copy of Albireo CMS»). (Точные тарифы, реквизиты и процедуру заказа см. на странице) - [Перенос данных с MaxSite CMS](https://maxsite.org/albireo/maxsite) **Методология и автоматизация миграции контента из базы MySQL (MaxSite CMS) в файлы Albireo CMS:** - Автоматизированный экспорт (`albireo-ex`): специальный скрипт для MaxSite CMS автоматически выгружает записи в плоские текстовые PHP-файлы с разбивкой по годам, выносит статичные страницы в папку `static`, помечает черновики префиксом `draft-` и заменяет адреса ссылок на системные переменные. - Конвертация медиа и комментариев: скрипт миграции на лету преобразует графику в формат WebP и конвертирует комментарии прямо в единый файл SQLite (`comments.sqlite`) формата Albireo CMS. - Размещение данных: выгруженные страницы копируются в `website/pages`, изображения — в `website/uploads`, а база комментариев — в `website/service/storage`. - Оптимизация больших объемов (5000+ страниц): для снижения нагрузки на диск при первом построении кэша папки со старыми записями помечаются режимом `frozen` либо выносятся в отдельный архивный подсайт средствами встроенного мультисайтинга. - Адаптация верстки и шаблонов: при использовании Berry CSS и AlpineJS классы оформления совпадают; базовые блоки и модульные сетки Albireo CMS основаны на компонентах шаблона MF; модификация оформления выполняется точечно через каталоги переопределений `my/` без правки исходников. - Упрощение логики главной страницы: вывод блоков и записей на главной настраивается прямо в `home.php` или `modules/home` через параметры выборок, без разрозненных файлов юнитов и плагинов. (Инструкцию по настройке скрипта albireo-ex и переносу дизайна см. на странице) - [Установка Albireo CMS](https://maxsite.org/albireo/install) **Системные требования, процесс «нулевой» установки, запуск на локальном сервере и базовая настройка:** - Системные требования: веб-сервер с PHP 8.3–8.5, SQLite 3.38+ (рекомендуется 3.48+), поддержка Phar, pdo_sqlite, mbstring, openssl, gd. Предусмотрен встроенный скрипт проверки совместимости сервера перед установкой. - Принцип «нулевой» установки: инсталлятор и мастер настройки базы отсутствуют. Достаточно распаковать архивы на хостинг и открыть в браузере адрес с явным указанием корневого файла запуска. - Базовая структура: каталог системного неизменяемого ядра `system` (с файлом лицензии в полной версии), каталог `templates` (шаблоны и ресурсы), рабочий каталог контента `website` и входной файл `index.php`. - Автоматическая инициализация: при первом запуске система автоматически генерирует файлы `.htaccess` (для ЧПУ на Apache) и `robots.txt`, если они отсутствуют на сервере. - Встроенный PHP-сервер: поддерживается локальный запуск стандартной командой CLI; для корректной отдачи системных XML-файлов (Sitemap, RSS) используется вспомогательный файл роутинга. - Мультисайтинг («подсайты»): создание изолированных разделов или отдельных сайтов в подпапках выполняется простым копированием рабочего каталога `website` (с общим ядром и шаблонами). - Тонкости настройки: возможность переименования рабочего каталога `website` через константу в точке входа; рекомендации по строгому 301-редиректу на HTTPS во избежание разделения URL-адресов динамических данных; возможность уменьшения дистрибутива до 1–5 Мб удалением демо-данных. (Тестовый скрипт проверки сервера, параметры .htaccess и команды запуска см. на странице) - [Размещение видео с YouTube](https://maxsite.org/albireo/build-website/video-youtube) **Методы адаптивного встраивания видеороликов YouTube, сохранение пропорций 16:9 и оптимизация скорости загрузки:** - Проблема стандартного фрейма: прямой код вставки YouTube (`iframe`) имеет фиксированные размеры в пикселях и ломает верстку на мобильных экранах. - Пропорциональные контейнеры Berry CSS: фрейм оборачивается в адаптивный контейнер с утилитарным классом соотношения сторон (16:9), который автоматически растягивает видео на 100% ширины родительского блока с сохранением корректной высоты. - Интеграция с TextSimple: создание адаптивной обертки для плеера доступно прямо в тексте статьи через короткий блочный синтаксис парсера. - Отложенная загрузка (фасад): поддержка механизма подмены тяжелого плеера легковесной статической обложкой с кнопкой воспроизведения, что исключает загрузку скриптов Google до явного клика пользователя и ускоряет рендеринг страницы. - Просмотр во всплывающем окне: возможность выноса видео в модальный плеер через встроенный лайтбокс FSLightbox с помощью кликабельной ссылки на ролик. (Утилитарные классы соотношения сторон, синтаксис оберток в TextSimple и примеры атрибутов плеера см. на странице) - [Создание лендингов](https://maxsite.org/albireo/build-website/landing) **Методология превращения любой страницы в изолированный лендинг, конфигурация полей и готовые посадочные шаблоны:** - Принцип изолированности: любая страница сайта может стать автономным посадочным лендингом без привязки к глобальному шаблону блога за счет управления служебными метаданными. - Настройка через поля записи: - подключение специализированных сеток `layout: landing.php`, `clean.php` или `empty.php`; - полное отключение стандартных сквозных элементов сайта: `header: -`, `footer: -`, `sidebar: -` и `comments: -`; - исключение лендинга из общих лент записей, архивов и RSS через статус `type: system`. - Изолированные стили и скрипты: возможность подключения индивидуальных библиотек (слайдеров, анимаций AOS), специфических шрифтов и таблиц стилей строго для одного лендинга через массивы полей `css.head.url[]` и `js.lazy.url[]` без утяжеления остальных разделов ресурса. - Пакет готовых решений: полная версия Albireo CMS включает коллекцию из 33 готовых адаптивных лендингов (суммарно 97 страниц), сверстанных на классах Berry CSS и реактивных компонентах Alpine.js. - Сборка секций и лидогенерация: лендинг может строиться из модульных блоков (первый экран, преимущества, тарифные сетки, FAQ-спойлеры, отзывы) с бесшовной интеграцией асинхронных AJAX-форм обратной связи и корзины товаров. (Перечень готовых шаблонов лендингов, конфигурацию полей изоляции и примеры верстки секций см. на странице) - [Создание своего сайта](https://maxsite.org/albireo/build-website/build-website) **Методология разработки сайта, сценарии применения, философия блогинга, требования к навыкам и роль Berry CSS:** - Базовые сценарии: система закрывает задачи одиночных посадочных страниц (лендингов), персональных блогов с навигацией и автономных баз знаний/документации (для сложной коммерции с автооплатой автор рекомендует специализированные сервисы). - Управление контентом: работа строится на уровне обычных файлов — редактировать страницы можно как через веб-админку, так и напрямую в локальных редакторах с последующей отправкой по FTP. - Философия удобного блогинга: - разметка TextSimple с поддержкой HTML; - нулевые искусственные ограничения — возможность писать произвольный PHP, HTML и JS прямо в контенте; - независимость структуры файлов от адресации (URL регулируется полем `slug`); - персональный закрытый блок заметок и TODO-списков автора (`Shorts`); - автоконвертация входящей графики в формат WebP; - декларативное подключение галерей, иконок и лайтбоксов через поля страниц («вкл/выкл»). - Требования к квалификации: CMS ориентирована на пользователей, понимающих базовую работу с файловой системой и кодом (движок не подходит тем, кто не отличает регистр файлов или не готов разбираться в разметке по примерам). - Стек верстки Berry CSS: ключевой атомарный CSS-фреймворк на CSS-переменных (эволюция с 2014 года); существенно легче Tailwind CSS, позволяет оформлять тексты и сетки готовыми утилитарными классами без ручного написания CSS-кода. - Свобода для программистов: открытая архитектура для подключения Composer, PSR-4 библиотек и пользовательских PHP-функций без ограничений, присущих классическим CMS. (Советы по выбору модульных сеток, классификацию пользователей и контакты поддержки см. на странице) - [Создание API на Albireo CMS](https://maxsite.org/albireo/build-website/create-api) **Реализация серверных API-эндпоинтов, отдача данных в формате JSON, безопасность и Headless-сценарии:** - Концепция эндпоинта: любой файл страницы Albireo CMS может выступать в роли API-точки входа за счет отключения визуальных компонентов оформления и парсеров. - Служебные поля API-страницы: - `layout: empty.php` — отключает модульную сетку, гарантируя отсутствие внешнего HTML-каркаса; - `parser: -` — выключает парсеры контента для предотвращения оборачивания данных в теги параграфов; - `compress: -` — отключает минификацию и сжатие вывода; - `type: system` и `sitemap: -` — полностью исключают эндпоинт из списков записей, лент и поисковых карт. - Формирование ответа: отправка заголовков `Content-Type: application/json`, обработка входящих параметров (`GET`, `POST` или сырого потока JSON) и сериализация данных через стандартные функции с сохранением Юникода. - Модель безопасности API: авторизация запросов по секретным токенам или API-ключам (в заголовках запроса или параметрах), проверка разрешенных IP-адресов, настройка заголовков CORS для взаимодействия с внешними доменами. - Сценарии применения: использование Albireo CMS в Headless-режиме, интеграция с мобильными приложениями, внешними вебхуками, дашбордами и Telegram-ботами. (Примеры конфигурации полей, шаблоны отдачи JSON и способы проверки токенов см. на странице) - [Grid Gallery](https://maxsite.org/albireo/build-website/grid-gallery) **Модуль адаптивной фотогалереи на чистом CSS Grid, интеграция с лайтбоксами и управление через парсер:** - Архитектура и стек: легковесная галерея построена на чистом CSS Grid без использования сторонних скриптов для раскладки; автоматически подстраивает количество колонок под ширину экрана устройства. - Декларативное подключение: активируется точечно для текущей записи через служебное поле `use.grid-gallery: +`. - Связка с лайтбоксами: без швов интегрируется со встроенными библиотеками GLightbox или Fullscreen Lightbox, превращая миниатюры в интерактивные всплывающие галереи при клике. - Оформление в тексте: галерея формируется оборачиванием картинок в контейнер с классом `grid-gallery` (в HTML или через синтаксис блоков парсера TextSimple). - Гибкость стилизации: пропорции миниатюр, отступы между ячейками и микроэффекты увеличения при наведении (hover) регулируются стандартными утилитарными классами Berry CSS. (Синтаксис блоков в TextSimple, классы сетки и примеры связки с лайтбоксами см. на странице) - [Google-поиск](https://maxsite.org/albireo/build-website/google-search) **Интеграция стороннего поиска по сайту через Программируемую поисковую систему Google (CSE):** - Причина использования: встроенный полнотекстовый поиск в движке отсутствует, поэтому организация поиска по контенту делегируется сервису Google Programmable Search Engine без нагрузки на хостинг. - Создание служебной страницы: поиск размещается в отдельном файле (например, `search.php`), которому назначается служебный тип `type: system` и метатег `head-meta[robots]: noindex` для исключения самой поисковой страницы из индексации поисковиками. - Настройка в сервисе Google: в панели управления создается поисковая система с ограничением области поиска адресом своего домена, где в настройках отображения рекомендуется выбирать макет «Широкий» для бесшовной адаптации под сетку сайта. - Подключение виджета: на странице поиска размещается асинхронный скрипт с индивидуальным идентификатором (`cx`) и стандартный контейнер отображения результатов Google. (Шаблон служебного файла страницы поиска и параметры интеграции скрипта см. на странице) - [Табы](https://maxsite.org/albireo/build-website/tabs) **Интерактивные переключаемые вкладки на базе Alpine.js, стилизация классами Berry CSS и адаптивность:** - Архитектура и стек: компонент табов функционирует на базе реактивных директив встроенного Alpine.js; не требует подключения внешних плагинов или тяжелых UI-фреймворков. - Принцип работы: переключение панелей контента строится на отслеживании состояния активной вкладки, динамическом назначении активных стилевых классов кнопкам и показе соответствующего содержимого с поддержкой плавных переходов. - Верстка и оформление: внешний вид переключателей (линейные табы, плашки-пиллы, рамки, отступы и цвета активного элемента) стилизуется утилитарными классами Berry CSS с автоматической адаптацией под мобильные экраны. - Интеграция с парсером: структуру табов можно оформлять как на чистом HTML, так и через компактные блочные обертки авторского парсера TextSimple. - Произвольный контент: внутри каждой вкладки разрешено размещать любые элементы — текст, формы, медиагалереи, кнопки покупки или вызовы других сниппетов. (Примеры реактивной разметки на Alpine.js и классы оформления табов см. на странице) - [Слайдер контента](https://maxsite.org/albireo/build-website/content-slider) **Пошаговый показ произвольных блоков контента на Alpine.js, управление через сниппет и анимация переходов:** - Назначение и стек: инструмент предназначен для поочередного вывода блоков контента (текста, графики, верстки); написан на базе встроенного Alpine.js и не требует подключения внешних библиотек или дополнительных JS-файлов. - Навигация: поддерживает переключение слайдов кнопками интерфейса и стандартными стрелками клавиатуры (`←` и `→`). - Механизм подключения через сниппет: слайдер оформляется как обертка из двух вызовов системного сниппета `slides` с ключевыми словами `start` (открывающий блок) и `end` (закрывающий блок навигации). - Разметка слайдов: каждый отдельный слайд представляет собой обычный блок `
` с произвольным содержимым, помещенный между частями сниппета; для плавности смены слайдов блокам назначаются утилитарные классы анимаций (например, `animation-fade`). - Стилизация и аргументы: при вызове стартовой и финальной частей сниппета можно передавать дополнительные CSS-классы оформления (отступы, фон, рамки, скругления). - Кастомизация логики: логика слайдера полностью открыта — для изменения поведения файл сниппета `slides.php` копируется в пользовательский каталог `website/service/snippets/` для безопасной модификации. (Синтаксис вызова сниппета slides, параметры CSS-классов и структуру разметки см. на странице) - [Слайдер Tiny Slider](https://maxsite.org/albireo/build-website/tini-slider) **Интеграция легковесного слайдера Tiny-Slider, автономная поставка ресурсов и конфигурация каруселей:** - Назначение и стек: Tiny-Slider — альтернативный сверхкомпактный слайдер на чистом JavaScript без зависимостей, оптимизированный для создания быстрых адаптивных каруселей, отзывов и фотолент. - Включение в комплект: библиотеки стилей и скриптов уже предустановлены в системном каталоге ресурсов движка. - Декларативное подключение: активируется точечно для текущей записи через служебное поле страницы `use.tiny-slider: +`, подключая необходимые ассеты только там, где размещен слайдер. - Разметка и адаптивность: блоки слайдов верстаются обычными контейнерами в HTML или через блочные обертки TextSimple; поддерживается настройка адаптивных брейкпоинтов для разного количества отображаемых элементов на мобильных и десктопных экранах. - Настройка поведения: параметры автовоспроизведения, навигационных стрелок, точек пагинации, зацикливания и скорости перелистывания передаются стандартной функцией инициализации в секции отложенных скриптов. (Параметры служебного поля, синтаксис инициализации tns и примеры верстки слайдов см. на странице) - [Анимация элементов](https://maxsite.org/albireo/build-website/animations) **Способы анимации контента: классы Berry CSS, запуск по событиям, библиотеки Animate.css и Wow.js, а также переходы в Alpine.js:** - Встроенные CSS-классы фреймворка Berry CSS: простая анимация элементов добавлением утилитарных классов появления, затухания, сдвигов по сторонам, зума, вращения и пульсации (`animation-fade`, `animation-zoom`, `animation-left`, `animation-bounce`, `animation-spin` и др.) напрямую через разметку или TextSimple. - Анимация по JS-событиям: запуск CSS-эффектов по клику или иным событиям на элементе через встроенный метод `this.animate(...)`. - Интеграция Animate.css: быстрое подключение библиотеки через служебное поле страницы `use.animate: +`, открывающее доступ ко всем стандартным классам анимаций, задержек и повторов библиотеки (`animate__animated`). - Анимация по скроллу через Wow.js: подключение библиотеки для отслеживания появления элементов при прокрутке экрана (часто на лендингах) через поле страницы `use.wow: +` и назначение класса `wow` в связке с классами анимации; для устранения эффекта мигания до инициализации используется скрытие через поле инлайн-стилей `css.style[]: .wow {visibility: hidden;}`. - Реактивные переходы на Alpine.js: управление плавным появлением и скрытием интерактивных блоков (закрытие плашек, иконки) с помощью директивы `x-transition` и параметров длительности. (Перечень классов Berry CSS, параметры подключения use.animate/use.wow и примеры разметки см. на странице) - [Пример лендинга](https://maxsite.org/albireo/build-website/landing-sample) Описание лендинга - [Иконки IM](https://maxsite.org/albireo/build-website/font-im) **Легковесный встроенный иконочный шрифт mfont, быстрое подключение и набор глифов:** - Назначение и происхождение: специализированный оптимизированный шрифт `mfont` (222 иконки), созданный на базе символов FontAwesome 5; отличается минимальным размером файла и практически мгновенной загрузкой. - Декларативное подключение: активируется для текущей страницы указанием служебного поля `use.imfont: +`. - Синтаксис использования: иконки выводятся через CSS-классы с префиксом `im-` (навигация, социальные сети, элементы интерфейса, стрелки, действия) в разметке HTML или через парсер TextSimple. (Полный визуальный каталог из 222 иконок и имена соответствующих CSS-классов см. на странице) - [Эффекты CSSgram](https://maxsite.org/albireo/build-website/css-gram) **Подключение библиотеки фильтров CSSgram, стилизация изображений и управление эффектами при наведении:** - Назначение библиотеки: интеграция готовых CSS-фильтров (аналогов эффектов Instagram) для визуальной обработки фотографий без редактирования исходных графических файлов. - Декларативное подключение: библиотека активируется точечно для текущей записи через служебное поле `use.cssgram: +`. - Применение эффектов: стилевые классы библиотеки (например, `moon` и др.) назначаются непосредственно целевым изображениям через HTML-атрибуты или разметку парсера TextSimple. - Интерактивное поведение: поддержка вспомогательного класса `hover-no-filter`, который автоматически отменяет наложенный фильтр при наведении курсора мыши на картинку. (Перечень доступных классов фильтров CSSgram и примеры разметки картинок см. на странице) - [Слайдер Swiper](https://maxsite.org/albireo/build-website/swiper-slider) **Интеграция сенсорного слайдера Swiper, пакетная поставка скриптов и управление параметрами:** - Наличие в комплекте: полнофункциональный слайдер Swiper уже включен в дистрибутив Albireo CMS. - Декларативное подключение: активируется для текущей страницы указанием служебного поля `use.swiper: +`, которое автоматически подгружает все необходимые стили и скрипты библиотеки. - Структура разметки: слайды формируются стандартными контейнерами библиотеки (обертка, трек и элементы слайдов), которые можно верстать как на чистом HTML, так и через блочные обертки парсера TextSimple. - Элементы управления: поддерживается добавление стрелок перелистывания «вперед/назад», пагинационных точек (буллетов) и полосы прокрутки. - Инициализация и настройка: поведение слайдера (автопрокрутка, зацикливание, адаптивное количество слайдов на экран, отступы и скорость) конфигурируется стандартными параметрами инициализации объекта Swiper в отложенной секции скриптов. (Синтаксис HTML/TextSimple-разметки слайдов и параметры конфигурации скрипта инициализации см. на странице) - [Лайтбоксы](https://maxsite.org/albireo/build-website/fslightbox) **Два встроенных решения для всплывающего просмотра медиа: GLightbox и Fullscreen Lightbox:** - Набор инструментов: в комплект поставки входят две независимые библиотеки для модального открытия изображений и видеоконтента без сторонних надстроек. - GLightbox (решение по умолчанию): подключается через служебное поле страницы `use.glightbox: +`; интегрируется с парсером TextSimple через спецсимволы разметки картинок (`!!`) или назначение CSS-класса `glightbox`. - Fullscreen Lightbox (fslightbox): подключается через поле `use.fslightbox: +`; активируется добавлением атрибута `data-fslightbox` к ссылкам или разметке TextSimple. - Поддержка мультимедиа и галерей: fslightbox умеет воспроизводить не только статичные изображения, но и ролики с YouTube и прямое HTML5-видео, а также объединять элементы в листаемые серии через имя галереи в атрибуте. (Синтаксис вызова в TextSimple, параметры атрибутов галерей и HTML-разметку ссылок см. на странице) - [Примеры шрифтов](https://maxsite.org/albireo/build-website/fonts) **Набор из 22 предустановленных шрифтов в комплекте поставки, их активация и подключение сторонней типографики:** - Встроенный шрифт-пакет: система поставляется с готовой коллекцией из 22 качественных веб-шрифтов с поддержкой кириллицы (Alegreya, Alegreya Sans, Arimo, Bad Script, Caveat, Exo 2, Fira Sans, Gabriela, IBM Plex Sans, Lora, Marck Script, Montserrat, Neucha, Noto Sans, Open Sans, Oswald, Pacifico, PT Sans, Roboto, Roboto Slab, Source Sans Pro, Ubuntu). - Подключение из комплекта: любой встроенный шрифт активируется точечно для текущей записи через служебное поле `use.font[имя]: +`, а для назначения шрифта всему документу или отдельным блокам используются CSS-переменная `css.root` и стилевые классы (например, `t-шрифт`). - Подключение сторонних шрифтов: при необходимости использовать любые другие шрифты (Google Fonts или собственные файлы woff2) их можно подключить стандартными полями записи `css.head.url[]` или прямыми директивами `@font-face` в `css.head[]`. (Спецификацию имен шрифтов для полей use.font и стилевые классы семейств см. на странице) - [Создание телеграм-бота](https://maxsite.org/albireo/build-website/telegram-bot) **Интеграция с Telegram Bot API, мгновенные уведомления о событиях сайта и двустороннее взаимодействие:** - Доступность: компонент входит в комплект полной версии Albireo CMS и работает без сторонних тяжелых библиотек через прямые системные запросы к Telegram Bot API. - Настройка и параметры: для работы требуется получение токена бота у @BotFather и идентификатора чата администратора; параметры задаются в конфигурации сайта. - Автоматические триггеры уведомлений: - новые комментарии (сообщение содержит имя автора, текст комментария, ссылку на публикацию и статус); - входящие сообщения из контактных форм сайта; - новые заказы из корзины интернет-магазина (список выбранных товаров, сумма, имя и контакты клиента); - критические системные события и уведомления безопасности. - Программная отправка сообщений: движок предоставляет готовую функцию отправки произвольных сообщений с поддержкой HTML-разметки текста прямо из любых PHP-файлов, сниппетов или обработчиков страниц. - Обработка входящих команд (вебхуки): возможность организации страницы-вебхука для приема команд от пользователей в Telegram и отправки ответных данных с сайта. (Инструкции по настройке вебхука, сигнатуру функции отправки сообщений и формат конфигурации см. на странице) - [Шаблоны в Albireo CMS](https://maxsite.org/albireo/templates/template) **Концепция шаблонизации, архитектура готового шаблона Default, файловая структура и механизм безопасных переопределений:** - Философия и управление на уровне страницы: шаблон не навязывает жестких ограничений — страница сама решает, как ей выводиться, выбирая собственный шаблон, модульную сетку (`layout`), блоки шапки, подвала, виджеты и стили. Каждая страница сайта может иметь уникальный дизайн. - Базовый стек: по умолчанию используется готовый шаблон `Default`, утилитарный фреймворк Berry CSS (сборка верстки через семантичные CSS-классы) и реактивный Alpine.js. Сторонние библиотеки (шрифты, JS/CSS) размещаются в общем каталоге `templates/_resources/` и подключаются через простые PHP-коннекторы. - Анатомия каталога шаблона: - `layout/` — обязательные модульные сетки, внутрь которых подключается страница; - `modules/` — независимые компоненты шапок (`headers`), подвалов (`footers`) и главной страницы (`home`), переключаемые полями записи; - `parts/` — точки внедрения кода в модульную сетку (`parts/head` в секцию HEAD, `parts/content-start` до контента, `parts/content` после контента, `parts/lazy` перед закрывающим тегом BODY); - `extras/` — вспомогательные блоки и плашки, вызываемые функцией `extras()` через встроенный TPL-шаблонизатор; - `tpl/` — шаблоны вывода списков записей, пагинации и комментариев; - `snippets/` — оформленные сниппеты (например, навигация по заголовкам); - `assets/` — локальные CSS, SASS, JS и графика. - Высокая модульность: компоненты шаблона изолированы друг от друга — изменение или расширение функционала затрагивает только один конкретный файл. - Безопасное переопределение (`website/service/my`): механизм «зеркальной» папки позволяет изменять любые файлы базового шаблона (шапки, подвалы, части разметки) без их прямой правки. Если файл скопирован в `service/my/`, движок автоматически отдает приоритет пользовательской версии, гарантируя чистоту обновлений. (Подробное описание директорий шаблона и параметров полей подключения стилей/скриптов см. на странице) - [Сайдбары и виджеты в Albireo CMS](https://maxsite.org/albireo/templates/sidebar) **Архитектура боковой панели, устройство и подключение виджетов, переопределение на уровне страниц:** - Концепция сайдбара: сайдбар не является замкнутой подсистемой CMS, а подключается как модульный компонент внутри соответствующих сеток верстки (`sidebar.php`, `sidebar-left.php`, `sidebar-float.php` и др.). - Расположение и переопределение: стандартный файл боковой колонки находится в `layout/parts/_sidebar.php`; для безопасной модификации он копируется в зеркальный каталог переопределений `website/service/my/layout/parts/_sidebar.php`. - Управление через поля страницы: поле `sidebar` позволяет подключить альтернативный файл сайдбара для конкретной записи либо полностью отключить боковую колонку значениями `0`, `-` или `false`. - Архитектура виджетов: виджеты представляют собой компактные, изолированные PHP/HTML-файлы в каталоге `modules/widgets/` (или `service/my/modules/widgets/`), не требующие регистрации через сложные классы или интерфейсы. - Библиотека встроенных виджетов: готовые модули облака меток, списка рубрик, последних публикаций, свежих комментариев, формы поиска, карточки автора и блоков подписки. - Условный вывод и гибкость: порядок вывода виджетов, их видимость и параметры настраиваются напрямую в коде сайдбара через простые PHP-условия или с опорой на служебные метаданные текущей записи. (Перечень стандартных сеток с сайдбаром, доступные виджеты и примеры сборки боковой панели см. на странице) - [Создание шаблона Albireo CMS](https://maxsite.org/albireo/templates/custom-template) **Подходы к разработке и кастомизации оформления, расширение шаблона Default и переключение пользовательских каталогов:** - Два подхода к оформлению: создание независимой копии шаблона Default под новым именем либо расширение возможностей стандартного Default (рекомендуемый путь, так как базовый шаблон уже решает большинство задач). - Обязательные требования: модуль сетки (`layout`) является критически необходимым для функционирования движка; при смене стилей необходимо учитывать, что стандартные компоненты спроектированы под Berry CSS и Alpine.js. - Способы расширения шаблона Default: - *Новые файлы внутри шаблона*: добавление файлов с уникальными префиксами (например, `my-header.php`), чтобы избежать конфликтов и перезаписи при системных обновлениях движка; - *Стандартный каталог переопределений (`website/service/my`)*: зеркальное повторение структуры шаблона, позволяющее «бесшовно» подменять стандартные компоненты (шапки, подвалы, сетки) без необходимости менять имена файлов в полях страниц; - *Именованные my-каталоги*: переключение наборов модификаций через конфигурационную опцию `serviceMyDir` в `config.php` (например, для быстрой смены кастомных тем оформления на базе одного шаблона). - Гибкость путей и констант: подключение файлов шаблонизатора (TPL) не привязано жестко к одной папке и может производиться из любых каталогов; системные константы путей к компонентам можно переопределять до загрузки ядра. - Модель распространения тем: пользовательские модификации можно распространять в виде независимых архивов `my`-папок, дополняя их файлом настроек `page-data` для удобного назначения полей пользователями. (Инструкцию по конфигурации serviceMyDir и правила переопределения системных констант см. на странице) - [Extras-файлы в Albireo CMS](https://maxsite.org/albireo/templates/extras) **Механизм вывода контекстных TPL-блоков для текущей страницы, декларативное подключение и автоматическая передача метаданных:** - Назначение и концепция: extras-файлы представляют собой TPL-шаблоны, ориентированные на работу исключительно в контексте текущей записи, что позволяет упростить верстку блоков со сложными условиями отображения (заголовки, мета-информация статьи, навигационные плашки). - Расположение и переопределения: стандартные файлы размещаются в каталоге шаблона `extras/`, а пользовательские версии — в каталоге приоритетных переопределений `website/service/my/extras/`. - Автоматическая передача данных: внутри extras-файла автоматически доступны абсолютно все поля текущей страницы в виде стандартных переменных шаблонизатора (с поддержкой условий `{@isset}`, `{@empty}`, языковых меток и вывода значений через `{{ $переменная }}`). - Способы вызова: - программный вызов через системную функцию `extras('имя_файла.php')` в коде шаблона или разметки; - декларативное подключение через поля страницы — массив `extras.start[файл]: +` для автоматического вывода блока перед текстом статьи и `extras.end[файл]: +` для вывода сразу после основного контента. (Синтаксис условий шаблонизатора, готовые примеры info-файлов и параметры подключения см. на странице) - [Шапка и подвал в Albireo CMS](https://maxsite.org/albireo/templates/headers-and-footers) **Модульная архитектура шапок и подвалов, переключение компонентов через поля страницы и кастомизация без правки исходников:** - Изоляция компонентов: шапки (`headers`) и подвалы (`footers`) вынесены в самостоятельные модули внутри каталога шаблона `modules/`, что отделяет их верстку от каркаса модульных сеток (`layout`). - Управление на уровне страницы: выбор конкретного варианта шапки или подвала задается в служебных полях записи `header` и `footer` (например, `header: header1.php`). Значения `0`, `-` или `false` полностью отключают вывод блока (удобно для автономных посадочных страниц и промо-материалов). - Готовый набор решений: в комплект системы входит 15+ вариантов шапок (с верхними панелями, поиском, соцсетями, липким позиционированием, центрированным меню и мобильной адаптацией) и 7+ вариантов подвалов (от минималистичного копирайта до многоколоночных компоновок). - Передача параметров через поля: модули шапок и подвалов могут считывать специфические данные прямо из метаданных текущей страницы (например, кастомный заголовок, показ дополнительных кнопок или переопределение меню). - Приоритет пользовательских переопределений: для изменения стандартной шапки/подвала файл копируется в каталог `website/service/my/modules/`, где он автоматически замещает базовый файл шаблона, сохраняя пользовательские правки при системных обновлениях. (Каталог готовых вариантов оформления и правила передачи параметров в модули см. на странице) - [Модульная сетка в шаблоне Albireo CMS](https://maxsite.org/albireo/templates/layout) **Архитектура модульных сеток (layout), механизм передачи управления от ядра к странице и правила верстки:** - Принцип работы и отличие от других CMS: система заранее не компилирует данные страницы; ядро лишь считывает служебные поля, определяет целевой файл и передает управление в layout-файл, который сам подключает контент через обычный `require`. - Выбор и приоритет сеток: активная сетка задается в поле записи `layout` (по умолчанию `default.php`). Движок сначала ищет сетку в переопределениях `service/my/layout` и только затем в каталоге шаблона `templates/default/layout`. - Встроенный набор сеток: стандартная без сайдбаров (`default.php`), с правым/левым/фиксированным сайдбаром, во всю ширину экрана (`full-width.php`), для лендингов без шапки и подвала (`landing.php`), минималистичные (`clean.php`), сетки документации (`doc1.php`, `doc2.php`) и пустая (`empty.php`), состоящая только из подключения файла страницы. - Структурное деление сетки: для исключения дублирования типовой layout разбит на служебные секции — `_start.php` (HEAD, открытие BODY), `_content.php` (контейнер со страницей) и `_end.php` (подвал, скрипты, закрытие тегов). Пользовательские сетки могут повторно использовать эти секции через системную константу пути. - Идеология верстки каркаса: блоки шапки, контента и подвала обязательно верстаются каждый в своем независимом контейнере, а не оборачиваются в один общий глобальный `
`. - Управление тегами документа через поля: прямое внедрение кода и метатегов в секцию HEAD через массивы `head[]`, `head-meta[]`, `head-lang[]`, добавление классов и атрибутов к тегу BODY через поле `body`, а также вывод отложенных ресурсов перед закрытием BODY через `lazy[]`. (Список стандартных сеток, структура файлов layout и правила переопределения через my-каталог см. на странице) - [TPL-шаблонизатор в Albireo CMS](https://maxsite.org/albireo/templates/tpl-template) **Архитектура легковесного шаблонизатора TPL, разделение логики и представления, вывод коллекций данных:** - Назначение и концепция: TPL — это компактный встроенный механизм шаблонизации на чистом PHP, предназначенный для единообразного рендеринга списков записей, архивных лент, комментариев, пагинации и служебных блоков (`extras`). - Разделение обязанностей: механизм полностью отделяет логику выборки данных (например, системную функцию `getPages`) от их визуального представления. Для смены внешнего вида вывода на странице или в модуле достаточно указать другой TPL-файл без изменения кода логики. - Размещение и переопределение: стандартные файлы разметки хранятся в каталоге шаблона `tpl/`, а пользовательские варианты и безопасные переопределения — в папке `website/service/my/tpl/`. - Принцип обработки данных: функция `tpl` принимает массив структурированных данных и применяет к нему шаблон, поддерживая оформление открывающих/закрывающих блоков списка (`start`, `end`) и итеративную разметку отдельных элементов. - Производительность: работает на нативном PHP без промежуточных компиляторов и сложного синтаксического оверхенда (в отличие от Twig или Blade), обеспечивая максимальную скорость генерации и минимальный расход памяти. (Сигнатуру функции tpl, поддерживаемые плейсхолдеры и структуру TPL-файлов см. на странице) - [Сниппеты в Albireo CMS](https://maxsite.org/albireo/templates/snippets) **Назначение переиспользуемых сниппетов, механизм передачи параметров и готовая библиотека интерфейсных компонентов:** - Концепция и роль: сниппеты представляют собой изолированные фрагменты кода и разметки для повторяющихся визуальных блоков интерфейса, позволяя сохранять тело статей чистым и избегать дублирования разметки. - Каталоги размещения и приоритет: стандартные сниппеты располагаются в `templates/<имя_шаблона>/snippets/`; для создания собственных или безопасного изменения базовых используется каталог переопределений `website/service/my/snippets/` (имеет высший приоритет поиска). - Вызов и параметризация: сниппет подключается в тексте или шаблоне с помощью системной функции вызова с возможностью передачи произвольного массива аргументов для кастомизации вывода (тексты, классы, параметры отображения). - Встроенные готовые сниппеты: - оглавление статьи (`article-navigation`) — автоматически сканирует заголовки публикации и строит интерактивное меню навигации; - хлебные крошки (`breadcrumbs`) — строит цепочку навигации по структуре разделов и метаданным; - кнопки шеринга — легковесные социальные кнопки без использования тяжелых внешних трекинг-скриптов; - карточки авторов, блоки цитат и навигационные плашки. - Чистота исходного контента: сниппеты отделяют верстку и стилизацию типовых элементов от содержательной части текста, гарантируя единообразие оформления на всем сайте. (Сигнатуру функции snippet, перечень стандартных компонентов и параметры вызовов см. на странице) - [Работа с JavaScript в Albireo CMS](https://maxsite.org/albireo/templates/javascript) **Способы подключения скриптов, управление JavaScript через поля страниц, отложенная загрузка и архитектурный стек:** - Концепция изоляции: скрипты могут подключаться как глобально в шаблоне, так и точечно на уровне конкретных страниц, предотвращая загрузку неиспользуемого JavaScript на остальных разделах сайта. - Динамическое подключение через поля страницы: - `js.head.url[]` — подключение внешних или локальных скриптов в секции ``; - `js.lazy.url[]` — отложенное подключение скриптов перед закрывающим тегом ``; - `js.head[]` — вставка инлайн-кода JavaScript в ``; - `js.lazy[]` — вставка инлайн-кода в нижнюю часть документа перед ``. - Системные макросы: поддержка плейсхолдеров (`[ TEMPLATE_URL ]`, `[ SERVICE_URL ]`, `[ SITE_URL ]`) и префиксов для формирования корректных путей к скриптам шаблона или пользовательским файлам. - Базовый стек: основной инструмент реактивности — легковесная библиотека Alpine.js, работающая без сборщиков (Webpack/Vite) и тяжелого окружения Node.js; сторонние библиотеки (слайдеры, галереи) хранятся в общем каталоге ресурсов `templates/_resources/` и подключаются по требованию. - Пользовательские скрипты: кастомные JS-файлы выносятся в каталог переопределений `website/service/my/`, что защищает код от затирания при обновлениях системы. (Синтаксис массивов подключения скриптов и параметры атрибутов defer/async см. на странице) - [Работа с CSS в Albireo CMS](https://maxsite.org/albireo/templates/css) **Способы подключения таблиц стилей, управление ресурсами через поля страниц, отложенная загрузка и инлайн-стили:** - Концепция подключения: стили могут подключаться как глобально через секции шаблона (`parts/head`), так и точечно на уровне конкретных страниц через служебные метаданные, что предотвращает загрузку лишнего CSS на страницах, где он не используется. - Динамическое подключение через поля страницы: - `css.head.url[]` — загрузка внешних или локальных CSS-файлов в секции ``; - `css.lazy.url[]` — отложенная загрузка тяжелых таблиц стилей перед закрывающим тегом ``; - `css.head[]` — вставка критического инлайн-кода стилей в блок `