Table of Contents
1 Предисловие
Значительная часть сайтов работает на системе WordPress, о чём я рассказывал когда-то. Но встречаются ситуации, когда можно сэкономить время, используя CMS попроще. Уточняю: я знаю, что каждой задаче — свой инструмент. Свёрстанные на голом HTML, CSS и JavaScript сайты по-прежнему востребованы. Как и на самописных движках. Сейчас речь о тех задачах, когда проще всего взять готовую систему и натянуть на неё шаблон сайта.
Часто обновляющийся список цмсок я нашёл на Гитхабе: https://github.com/postlight/awesome-cms. Написаны они на самых разных языках: .NET, Java, JavaScript, PHP, Python и Ruby. Беглый осмотр показал, что подавляющее большинство систем развиваются, растут в плане функциональности и количества пользователей. Так как я имею дело с сайтами, написанными на PHP, отобрал две самых интересных, на мой взгляд, системы: Bolt и Grav.
2 Bolt
Домашняя страница: https://bolt.cm/
CMS Bolt отлично подойдёт для сайтов, чьё содержимое часто меняться не будет. Например, каталога музея:
При сравнении с WordPress преимущества Bolt очевидны:
- Низкие требования к хостингу. Главное — поддержка PHP 5.5.9 или выше. В качестве сервера баз данных может использоваться MySQL или PostgreSQL, но это не обязательно — по умолчанию база данных хранится в файле формата SQLite.
- Гибкая система таксономий (рубрикаций). Помимо категорий и меток можно сделать свои рубрики, количество практически не ограничено. Идеально подойдёт для создания сайта-каталога с какой-нибудь хитрой системой рубрикаций.
- Для шаблонов используется обработчик Twig — меньше возможностей создать уязвимую ко взлому тему оформления.
Есть каталог расширений, который понемногу наполняется. С его помощью можно добавить карту сайта, формы обратной связи. Да, Bolt не так функционален «из коробки», как WP. Можно создать страницы, новости с рубрикацией, какой-нибудь каталог и, в общем-то, это всё. Всё остальное придётся добавлять расширениями или писать самому. Поэтому порог входа выше по сравнению с WordPress. Это не недостаток, скорее повод для разработчика развиваться дальше. Благодаря этому сайты, использующие Bolt, будут работать быстро.
Что меня поразило, так это уровень документации. Она не только подробна, но и описывает возможности, которые появятся в будущих версиях!
Не обошлось без недостатков. На мой взгляд, разработчики слишком легкомысленно отнеслись к редактору страниц/новостей. Например, по умолчанию отключили кнопку добавления изображений. Урезанный донельзя CKEditor — не самое лучшее решение.
Фрилансерам, которые делают сайты «под ключ», придётся переделать эту часть Bolt. Неподготовленный пользователь (заказчик), залезший в админку подредактировать пару страниц, может порушить всю вёрстку. Дело в том, что CKEditor чересчур бережно относится к форматированию текста, преобразуя любые шрифтовые изыски в HTML-теги. Так как заполнение сайта часто происходит с помощью копирования готового текста из MS Word, на сайт перенесётся всё форматирование, из-за чего внешний вид страницы станет непотребным.
В остальном это замечательная CMS с хорошей документацией и более-менее живым сообществом.
3 GRAV
Домашняя страница: https://getgrav.org/
Grav — это flat-file CMS, т.е. на основе файлов. По сравнению с Bolt уровень входа выше, но и возможностей больше.
Особенности:
- Предельно низкие требования к хостингу. Никаких баз данных — всё на файлах. Желателен PHP 7, хотя должен завестись и на 5.5.9.
- Можно обойтись без админки (это такой же плагин, как остальные, расширяющие возможности Grav), просто создавая файлы с определённым содержимым, которые ядро сайта обработает и представит как готовые страницы.
- Twig используется не только при создании шаблонов, но и для содержимого страниц. Таким образом легко создать, например, карту сайта.
- Хороший набор готовых плагинов — практически все полезные, откровенного хлама нет.
- Доступны готовые заготовки («skeletons»). Каждый включает в себя шаблон оформления и плагины, настроенные для удобного создания разных типов сайтов — блогов, портфолио и так далее. Хотя можно и вручную собрать всё необходимое.
- Отличная интеграция с Gantry Framework. Это такой движок шаблонов, работающий на WordPress, Joomla и Grav. Изучив Gantry, можно верстать шаблоны оформления, используя их с минимальными изменениями сразу на трех CMS.
- Поддержка различных способов кэширования страниц, благодаря чему сайт будет открываться практически мгновенно.
- Отличная поддержка мультиязычности: один сайт может содержать версии на разном языке.
Страницы в Grav — это файлы с расширением .md (формат YAML), содержащие в себе конфигурацию и текст страницы. Оформление задаётся не HTML-тегами, а разметкой Markdown:
Да, у этой CMS та же проблема, что и у Bolt — неудобный текстовый редактор. Вряд ли заказчик сайта обрадуется, узнав, что для редактирования страниц ему потребуется заучивать маркдаун. Хотя сам по себе синтаксис неплох, давно подумываю подключить его в своем блоге, он требует определённых знаний. Поэтому Grav подходит либо для сайтов с нечасто обновляющимся содержимым, либо с полным сопровождением (наполнять будет исполнитель, не заказчик).
Ещё одна ложка дёгтя — документация. На мой взгляд, при всех достоинствах Grav — легкой установке, мультиязычности, скорости работы — на пути к популярности стоит ужаснейшее описание того, как работать с возможностями CMS. Казалось бы, если система управления контентом основана на файлах, то в доках обязательно должно быть указание, где и какие файлы должны лежать. Но в примерах есть только намёки, прямых и чётких указаний нет. При изучении руководства на официальном сайте learn.getgrav.org у меня было чувство, что вот-вот откроется третий глаз и я достигну просветления, но в итоге пришлось ковыряться в исходниках и методом тыка выяснять, какая структура страниц нужна для работы раздела-блога.
То же самое с движком шаблонов Gantry. Очень вовремя вышла статья «Переосмысление разметки. Первые шаги с Gantry 5», очень помогла. Другой русскоязычной документации (пока) не существует. Англоязычная есть, но она словно написана авторами руководства к Grav. К счастью, Gantry не обязателен, можно использовать Bootstrap, Foundation или что-то своё.
Дополнение от 7.12.2019: в комментариях справедливо указали, что документация у Grav стала нормальной, а количество плагинов значительно возросло. Поэтому обстоятельства изменились. Если ваша цель — создать сайт быстро, воспользовавшись готовыми решениями, то Grav — сильная замена Вордпрессу.
4 Совет
Если хотите разобраться, какой должна быть хорошая CMS, изучите Bolt. Сделайте хотя бы простой лендинг. Если захотите расширять функционал, знайте: CMS написана с использованием фреймворка Silex и компонентов Symfony. Полученный опыт пригодится не только в проектах, связанных с Bolt — написание решений, пускай даже «велосипедных», позволит расти вам как разработчику.
Grav отлично подойдёт работающим в команде благодаря архитектуре, позволяющей разобрать систему на независимые части, дорабатываемые разными людьми. Пожалуй, это одна из наиболее «модульных» CMS, благодаря чему на её основе возможно строить довольно нестандартные проекты. Например, делать мгновенно открывающийся лендинг без админки, чтобы после изредка менять текст на нём по просьбе заказчика. Полноценные сайты — с админкой, управлением пользователей и прочими атрибутами «серьёзных» проектов — разработать также можно, и даже быстрее, чем с помощью Bolt. Если для последнего приходится пилить собственные решения, то для Grav силами сообщества написано более трёхсот плагинов, помогающих сэкономить время при разработке.
Добрый день!
Я хочу сделать для себя простой сайт. Информация на нем будет обновляться, не часто, но будет. Я правильно понял, что в этих cms нет редактора типа wysiwyg. То есть я должен выучить какой-то язык, на котором должен описать свою страницу? Должен ли я при этом еще знать css и тому подобные штучки? И как, например, я должен задать размер и положение картинки на странице, тоже с помощью языка разметки?
Здравствуйте. Назвать полноценными WYSIWYG редакторами то, что используется в этих CMS, нельзя, но тем не менее кнопки для изменения стилей текста есть. Используется markdown разметка, это достаточно простой способ разметить текст.
Знать CSS и тому подобные штучки желательно, но не обязательно, если хотите ограничиться стандартным шаблоном оформления сайта.
Стоит обновлять старые статьи, когда они приходят в противоречие с изменившейся реальностью. Так, совет
сегодня звучит издевательски, потому что на Bolt CMS лучше покласть болт и погрузиться в Grav — и документация, и базовая идеология там более вменяемые… не говоря о доступности и адекватности разработчиков и комьюнити, не размазанной по десяткам сайтов, а вполне добро и бодро живущем в Дискорд-сервере Грава, большем (чильно большем) числе тем и плагинов на разные случаи жизни, скелетонах разных типов сайтов…
И я немножко знаю, о чем говорю, так как поднял без предварительной подготовки сайт на Болте и на Граве (и число Грав-сайтов будет увеличиваться, болтовой пока так и останется в одиночестве)
Alex Bream, то, что вам не понравился Bolt, но привёл в восторг Grav, лишь отражает ваши предпочтения. А я считаю, что для начинающих разработчиков Bolt выгоднее использовать, потому что при расширении функционала придётся думать головой и, соответственно, повышать скилл. Кому-то проще набросать плагинов и в случае трудностей бежать спрашивать комьюнити о решении — такой подход тоже имеет право на жизнь. Всё зависит от целей.
Раздел про Grav обновлю — документацию на официальном сайте действительно допилили.
Скорее «точку зрения» или «ракурс», с которого я рассматриваю задачу, но да — наша разница в оценке в основном основана на том, что мы рассматриваем две системы для разных целевых аудиторий, и в свете заголовка этой публикации моя точка зрения мне кажется более логичной: меня совершенно не волнует факт того, что больше или меньше нравится модным «прогерам» (я уж молчу о том, что если для разработчика есть в мире CMS только WordPress, то они и на «разраба» не тянет, как тупой кодер) и на чем он (за счет клиента, BTW, а не на свои) «повышает скилл», а вот а) быстрое б) сравнительно простое создание в) полноценного сайта, делающего то, что нужно, а не что получилось г) обычным бизнес-пользователем с его бизнес-потребностями на Граве реализуется, по моей оценке, значительно проще.
Равно как и сопровождение-обновление сайта без прокладки SQLite между редактором и страницей — правильнее сделано в Граве
Равно как и обновление и ядра и обвески в WP-стайл в Граве (кнопой в админке, а не заливкой обновленного дистра с плясками, пусть и небольшими в Болте) — более ориентировано на конечных пользователей/владельцев сайтов, а не «прошаренных пацыков»
В общем, ваша точка зрения имеет такое же право на жизнь, как и моя, но хорошо бы сопровождать ее дисклеймером «Для бородатых хипстеров из барбершопа, не для обычных людей, которым нужен сайт, как инструмент…», тогда бы и разночтений не вышло: «Кому поп, кому попадья, а кому свиной хрящик»
Ну, я стараюсь не ставить настолько саркастичные дисклеймеры) Это отпугивает аудиторию. Задача данной статьи (и это отражено в заголовке) — заинтересовать тех, кто готов расти дальше Вордпресса. А то, что её могут случайно прочесть опытные разработчики с другими целями и ракурсами — как-нибудь переживу.
Кстати, насчёт точек зрения — что вы думаете об OctoberCMS?
1. Я ни разу не разработчик, я скорее по другой стороне баррикад — мне нужны сайты, которые можно запускать самому, оперативно, даже на калькуляторе, и при этом это не должны быть убогие ГС по виду и возможностям. WP пролетает по многим позициям, и по идеологическим соображениям — тоже
2. Про OctoberCMS ничего не думаю, я вроде бы что-то где-то читал на этапе осеннего отбора, но он даже в предноминацию не попал. Так что «мнения нет, и вряд ли будет», если не появятся серьезные основания изменить классификацию и попробовать
Визуальный редактор в GRAV — это издевательство над пользователем. Все, что можно сделать с картинкой — это вставить ее в текст (спсибо хоть, не только по url-адресу). Нет даже банального выравнивания. Я не готов тратить свое время на настолько кривые продукты. Уже удаляю.
Берете WYSIWYG Web Builder, устанавливаете на ПК. Делаете страницы визуально, не сложнее чем в Word(е), включаете редактируемый контент. Подключаете расширение Blog Card, включаете CMS, делаете блог.
И будет Вам счастье, редактируйте сайт хоть онлайн, хоть на ПК и сколько угодно.
И в топку всякие Grav, WordPress, тильды и прочее :)
Сирожа, у меня для вас плохие новости
1. У вас, любезный, не хватило знаний чтобы понять, что редактор Grav — ни разу не «визуальный», как подавляющее большинство markdown-редакторов
2. Разнообразные манипуляции с изображениями в Grav делать достаточно просто, надо только читать документацию https://learn.getgrav.org/16/content/image-linking, а не «чилить с мейтами в ютубчике»
Вот из «под рукой нашлось»
![Sky and Mountain](chase-moyer-730496-unsplash.jpg?resize=600,450&classes=caption,caption-right,figure-right «Photo by Chase Moyer on Unsplash»)
3. Grav много приобрел с тем, что такие «обученные приматы», как вы и все ваше поколение цифровых зомби, не становятся его пользователями
Нет, я не против, конечно — инвестируйте своё время в кривые движки. Это же ваше время, в конце концов.
Лёшик, если вы считаете, что к приматам не относитесь — то у меня для вас плохие новости )
Научитесь вежливо разговаривать со взрослыми дядями — возвращайтесь.
Иногда таких CMS бывает многовато. Нужно было быстро сделать бложик для души с базовым набором SEO и дизайна. Остановился на Bludit CMS — множество тем и плагинов, никаких баз данных, приятная и простая админка. 5 минут знакомства и можно писать первый пост.
Ну а для более серьезных блогов я теперь фанат Publii CMS.