Здравствуйте, помимо наиболее известных систем управления контентом, есть и множество других, менее известных, но не плохих. Например, CMS Grav. Эта система написана на языке PHP, использует модель плоских файлов.
Фактически под каждую страницу генерируется отдельный файл. Обычно есть шаблон, который на основе размещённой в базе данных информации генерирует страницу динамически. Flat-File позволяет обойтись без БД, создавая отдельный файл. Конечно, подход может выглядеть не самым изящным, но на самом деле это позволяет системе довольно шустро работать. Ладно, все объяснения в процессе.
Сайт CMS Grav: https://getgrav.org/.
Подробнее про CMS Grav
Как уже сказал — это система управления контентом с применением модели плоских файлов. Основной недостаток заключается в том, что если будет много страниц, то файловая система очень сильно разрастётся. Не всегда удобно, когда в корне сайта валяются тысячи HTML-файлов. Но вот сделать одностраничник либо небольшой блог на 100 записей? Идея замечательная, особенно то, что подобный сайт получится очень быстрым, что полезно с точки зрения SEO.
Сайты на данной платформе работают довольно шустро, но за что-нибудь серьёзное на данной платформе браться бы не стал. Впрочем, есть вполне крутые сайты, сделанные на Grav. Посмотрите хотя бы на сайт самой системы управления сайтами. В принципе, недурно.
Основные задачи выполняет с лихвой. Можно сделать практически любой сайт, если, конечно, нет претензий на уникальный функционал. Конечно, низкая популярность среди разработчиков делает платформу менее привлекательной для обыкновенных пользователей, очень мало готовых решений. Даже платных.
Для генерации страниц и отображения используется шаблонизатор Twig, для разметки Markdown. Многие технологии позаимствованы из Symfony. Например, консоль. В общем, есть где разгуляться.
Да, именно так будут выглядеть шаблоны. Впрочем, внутренности рассмотреть в пределах одного обзора будет довольно трудно, в следующих статьях будут рассмотрены отдельные аспекты системы по этапам.
Установка
Разместить Grav на хостинге, в том числе и локальном, довольно просто. Можно использовать классический метод с инсталлером, а можно воспользоваться более продвинутыми методами, вроде composer, а также установить с помощью Git. В общем, простор есть. В следующей статье опишу простую установку.
Про установку с помощью Composer или Git написано в официальной документации, те, кто умеют пользоваться данными инструментами, справятся без проблем: https://learn.getgrav.org/17/basics/installation
Варианты установки
Вариант первый — установка «голой» системы, после установка темы, плагинов и ручное редактирование. Но здесь есть вариант поинтереснее. Можно установить готовую систему с настроенной темой и плагинами. Называется «Скелетон» (англ. Skeleton).
Заходите сюда: https://getgrav.org/downloads/skeletons. Смотрите демки, выбираете наиболее интересный вариант, устанавливаете. Отличный способ быстро развернуть сайт. Количество тем и скелетонов небольшое, но все же есть, где развернуться, так что проблем с дальнейшей настройкой будет минимум.
Плагины
Темы и плагины — неотъемлемая часть многих CMS. Grav не исключение. Здесь пока что есть всего 290 плагинов, что не идёт ни в какое сравнение с популярными системами управления, так что если вы не являетесь опытным разработчиком, то вариативность сильно падает, если не найдёте подходящего плагина, то не сумеете сделать нужный функционал.
Grav сложнее WordPress?
Не сказал бы, что сложнее, у WP есть свои трудности, для решения которых нужно знать много премудростей. Здесь так же. Если желаете серьёзно развивать навыки работы с данной системой, то придётся вникать и изучать её, в противном случае ничего дельного не получится.
Основная сложность CMS Grav заключается в том, что здесь меньше готовых решений, новичок не сможет просто скачать и установить плагины. И даже купить не сможет.
В то же время у WordPress есть плагины практически на любой случай жизни. Так что Grav явно не для новичков.
Перспективы CMS Grav
Какие перспективы у платформы? На самом деле, в плане вариативности и прочего, Grav значительно уступает более популярным CMS, потому перспектив значительно меньше. Но для небольших блогов и лёгких одностраничников — отличный вариант.
Скажу так, построить сложный проект с огромным функционалом здесь довольно трудно, а вот сделать простой сайт очень легко.
В плане заработка в России у CMS все плохо. То бишь если хотите делать на заказ, то практически нет русскоязычной аудитории, документации и желающих получить сайт на данной платформе. Развивайтесь в WordPress или Битрикс, изучайте Laravel или Symfony. И да, последние более высокооплачиваемые.
Выводы
Grav – неплохая система управления содержимым, и я предлагаю разработать сайт на ней вместе. Все будет максимально просто, зато вы сможете освоить её на начальном уровне и понять, как все работает. Это будет простейший новостной блог для анонсов мероприятий, так что, знакомьтесь. В разделе по CMS Grav вы найдёте статьи с информацией о данной CMS.
Flat File CMS — это система управления контентом на базе простых статических файлов. Сайт с подобной системой не использует реляционных систем управления базами данными, например MySQL.
Отсутствие реляционной базы данных и дало название для подобных систем. Все файлы и содержимое веб-сайта храниться только в файлах и папках. Такие системы, легковесные, портативные, но не всегда простые и быстрые!
Непонятно почему разработчики таких систем, думают что Flat File CMS должна работать как типичная CMS c СУБД и начинают изобретать свои велосипеды для работы с файлами так как если бы это была СУБД, по сути воссоздавая СУБД на файлах, и тем самым стреляя себе в ногу, так как разработка такой системы крайне сложна и практически бесполезна. Потому что, если необходимо, то в проект можно подключить СУБД например плагином и при этом не тратить невероятное количество человеко-часов на изобретение своей СУБД на файлах.
Подробнее в статье: https://vk.com/@flextype-flat-file-cms-i-chto-s-nimi-ne-tak