Bolt и Grav: две замены для WordPress

Посмотрел, как обстоят дела на фронте сайтостроения с помощью готовых CMS. Оказывается, хорошо. Своё место под солнцем отвоёвывают менее известные, но перспективные системы. Например, Grav и Bolt.

Значительная часть сайтов работает на системе WordPress, о чём я рассказывал когда-то. Но встречаются ситуации, когда можно сэкономить время, используя CMS попроще. Уточняю: я знаю, что каждой задаче – свой инструмент. Свёрстанные на голом HTML, CSS и JavaScript сайты по-прежнему востребованы. Как и на самописных движках. Сейчас речь о тех задачах, когда проще всего взять готовую систему и натянуть на неё шаблон сайта.

Часто обновляющийся список цмсок я нашёл на Гитхабе: https://github.com/postlight/awesome-cms. Написаны они на самых разных языках: .NET, Java, JavaScript, PHP, Python и Ruby. Беглый осмотр показал, что подавляющее большинство систем развиваются, растут в плане функциональности и количества пользователей. Так как я имею дело с сайтами, написанными на PHP, отобрал две самых интересных, на мой взгляд, системы: Bolt и Grav.

Bolt

Домашняя страница: https://bolt.cm/

CMS Bolt отлично подойдёт для сайтов, чьё содержимое часто меняться не будет. Например, каталога музея:

Сайт Исторического музея Гааги сделан на Bolt CMS
Сайт Исторического музея Гааги сделан на Bolt CMS

При сравнении с WordPress преимущества Bolt очевидны:

  1. Низкие требования к хостингу. Главное – поддержка PHP 5.5.9 или выше. В качестве сервера баз данных может использоваться MySQL или PostgreSQL, но это не обязательно – по умолчанию база данных хранится в файле формата SQLite.
  2. Гибкая система таксономий (рубрикаций). Помимо категорий и меток можно сделать свои рубрики, количество практически не ограничено. Идеально подойдёт для создания сайта-каталога с какой-нибудь хитрой системой рубрикаций.
  3. Для шаблонов используется обработчик Twig – меньше возможностей создать уязвимую ко взлому тему оформления.
Настройка рубрикации в Bolt
Настройка рубрикации в Bolt

Есть каталог расширений, который понемногу наполняется. С его помощью можно добавить карту сайта, формы обратной связи. Да, Bolt не так функционален «из коробки», как WP. Можно создать страницы, новости с рубрикацией, какой-нибудь каталог и, в общем-то, это всё. Всё остальное придётся добавлять расширениями или писать самому. Поэтому порог входа выше по сравнению с WordPress. Это не недостаток, скорее повод для разработчика развиваться дальше. Благодаря этому сайты, использующие Bolt, будут работать быстро.

Что меня поразило, так это уровень документации. Она не только подробна, но и описывает возможности, которые появятся в будущих версиях!

Переключатель версий в документации Bolt
Переключатель версий в документации Bolt

Не обошлось без недостатков. На мой взгляд, разработчики слишком легкомысленно отнеслись к редактору страниц/новостей. Например, по умолчанию отключили кнопку добавления изображений. Урезанный донельзя CKEditor – не самое лучшее решение.

Редактор страниц Bolt
Редактор страниц Bolt

Фрилансерам, которые делают сайты «под ключ», придётся переделать эту часть Bolt. Неподготовленный пользователь (заказчик), залезший в админку подредактировать пару страниц, может порушить всю вёрстку. Дело в том, что CKEditor чересчур бережно относится к форматированию текста, преобразуя любые шрифтовые изыски в HTML-теги. Так как заполнение сайта часто происходит с помощью копирования готового текста из MS Word, на сайт перенесётся всё форматирование, из-за чего внешний вид страницы станет непотребным.

В остальном это замечательная CMS с хорошей документацией и более-менее живым сообществом.

GRAV

Домашняя страница: https://getgrav.org/

Grav – это flat-file CMS, т.е. на основе файлов. По сравнению с Bolt уровень входа выше, но и возможностей больше.

Особенности:

  1. Предельно низкие требования к хостингу. Никаких баз данных – всё на файлах. Желателен PHP 7, хотя должен завестись и на 5.5.9.
  2. Можно обойтись без админки (это такой же плагин, как остальные, расширяющие возможности Grav), просто создавая файлы с определённым содержимым, которые ядро сайта обработает и представит как готовые страницы.
  3. Twig используется не только при создании шаблонов, но и для содержимого страниц. Таким образом легко создать, например, карту сайта.
  4. Хороший набор готовых плагинов – практически все полезные, откровенного хлама нет.
  5. Доступны готовые заготовки («skeletons»). Каждый включает в себя шаблон оформления и плагины, настроенные для удобного создания разных типов сайтов – блогов, портфолио и так далее. Хотя можно и вручную собрать всё необходимое.
  6. Отличная интеграция с Gantry Framework. Это такой движок шаблонов, работающий на WordPress, Joomla и Grav. Изучив Gantry, можно верстать шаблоны оформления, используя их с минимальными изменениями сразу на трех CMS.
  7. Поддержка различных способов кэширования страниц, благодаря чему сайт будет открываться практически мгновенно.
  8. Отличная поддержка мультиязычности: один сайт может содержать версии на разном языке.
Админка Grav
Админка Grav

Страницы в Grav – это файлы с расширением .md (формат YAML), содержащие в себе конфигурацию и текст страницы. Оформление задаётся не HTML-тегами, а разметкой Markdown:

Bolt и Grav: две замены для WordPress 2

 

Да, у этой CMS та же проблема, что и у Bolt – неудобный текстовый редактор. Вряд ли заказчик сайта обрадуется, узнав, что для редактирования страниц ему потребуется заучивать маркдаун. Хотя сам по себе синтаксис неплох, давно подумываю подключить его в своем блоге, он требует определённых знаний. Поэтому Grav подходит либо для сайтов с нечасто обновляющимся содержимым, либо с полным сопровождением (наполнять будет исполнитель, не заказчик).

Ещё одна ложка дёгтя – документация. На мой взгляд, при всех достоинствах Grav – легкой установке, мультиязычности, скорости работы – на пути к популярности стоит ужаснейшее описание того, как работать с возможностями CMS. Казалось бы, если система управления контентом основана на файлах, то в доках обязательно должно быть указание, где и какие файлы должны лежать. Но в примерах есть только намёки, прямых и чётких указаний нет. При изучении руководства на официальном сайте learn.getgrav.org у меня было чувство, что вот-вот откроется третий глаз и я достигну просветления, но в итоге пришлось ковыряться в исходниках и методом тыка выяснять, какая структура страниц нужна для работы раздела-блога.

То же самое с движком шаблонов Gantry. Очень вовремя вышла статья «Переосмысление разметки. Первые шаги с Gantry 5», очень помогла. Другой русскоязычной документации (пока) не существует. Англоязычная есть, но она словно написана авторами руководства к Grav. К счастью, Gantry не обязателен, можно использовать Bootstrap, Foundation или что-то своё.

Совет

Если хотите разобраться, какой должна быть хорошая CMS, изучите Bolt. Сделайте хотя бы простой лендинг. Если захотите расширять функционал, знайте: CMS написана с использованием фреймворка Silex и компонентов Symfony, полученный опыт пригодится не только в проектах, связанных с Bolt.

Grav отлично подойдёт работающим в команде и/или тем, кто делает сайты, не требующие обновления содержимого. Можно, например, сделать мгновенно открывающийся лендинг без админки и потом изредка менять текст на нём по просьбе заказчика.

0 комментариев

Добавить комментарий

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *