CMS Grav logo
Grav

Кастомизация CMS Grav

Как всегда есть два стула. Один сложный — ручная кастомизация с длительной подготовкой темы к приемлемому виду, второй более простой: скачиваем Sceleton и просто распаковываем его в корень сайта с заменой файлов. Какой выберите, простой вариант или перманентное изучение Twig и SCSS?

Хорошо, вот ссылка на скелеты: https://getgrav.org/downloads/skeletons

Выбирайте на свой вкус, скачивайте и распаковывайте в папку с сайтом. К моменту написания данной статьи я перешел на тему Stripped. Оказывается, изобретал велосипед, учитывая, что Скелетон на базе данной темы уже есть.

Редактируем тему Grav

Итак, вполне возможно, что даже Скелетон не дал всего того, что вам необходимо. Тогда переходим к более сложным действиям, ведь придется менять саму тему. Да, не забудьте перейти в Настройки → Содержание и поставить галочку на процессе Twig. Сохраните. Отлично, теперь переходим к работе с шаблоном.

Темы в данной CMS основаны на шаблонизаторе Twig, любители Symfony вздохнули с облегчением, вордпресеры выпали в осадок. Давайте честно, темы в WP устроены на порядок сложнее, если здесь сможет справиться человек даже с небольшим опытом, то для WordPress нужно знать намного больше.

Ладно, на вкус и цвет все фломастеры разные. Кому-то в Grav может оказаться тяжелее. Перейдем к кастомизации.

Шаблон CMS Grav

Примерно так выглядят шаблоны темы. Файлы .html.twig. Что самое прекрасное, их можно менять как угодно, они не нуждаются в обновлении, соответственно, не будут затерты ваши изменения. Итак, в качестве главной страницы у меня назначен файл blog.html. Значит мне потребуется открыть файл blog.html.twig. Файлы с расширением twig как раз и отвечают за шаблонизацию. Условно, я решил изменить календарь и поменять ссылки расшаривания со значками. Мне нужно найти, где они хранятся.

Шаблон Stripped

Итак, файл base.html.twig отвечает за подключение внешних файлов, размещение сайдбара и прочее. Его трогать не будем, но здесь прекрасно видно, что если захотим закатить колдунства с боковой панелью, то придется начать развлекаться с шаблоном partials/sidebar.html.twig. Решил отложить веселье на потом, ибо сайдбар мне очень понравился. А вот расшаривание немного не то. Значит, переходим в файл blog_item.html.twig и находим, что отвечает за календарь и шару.

Кастомизация CMS Grav

Итак, на скриншоте отчетливо видно код, который требуется заменить на свой. Для удобства можете включить подсветку синтаксиса при редактировании. Посоветую поставить ESCRIPT, если у вас Notepad++. Теперь редачим.

Итак, я просто поменял блок кода:

{% if site.share.facebook or site.share.twitter %}
            <ul class="stats">
        {% if site.share.facebook %}
                <li><a href="https://vk.com/share.php?url=https://extremal.site" target="_blank" class="icon fa-vk"><i class="fa fa-circle-o-notch fa-spin"></i></a></li>
                {% endif %}
                {% if site.share.twitter %}
                <li><a href="https://twitter.com/share" data-url="{{ page.url(true) }}" data-text="{{ page.title }}" class="icon fa-twitter"><i class="fa fa-circle-o-notch fa-spin"></i></a></li>
                {% endif %}
            </ul>
{% endif %}

Как видите, я просто добавил ссылку расшаривания для ВК, а также махнул с Твитером местами, попутно заменил иконку. Больше ничего.

Работать будет гораздо удобнее по FTP. В следующей статье сделаем собственный шаблон страницы записей, потому тот, что идет в комплекте со Скелетоном, мне не особо понравился.

Кастомизация CMS Grav
Кастомизация CMS Grav 1

Как всегда есть два стула. Один сложный — ручная кастомизация с длительной подготовкой темы к приемлемому виду, второй более простой: скачиваем Sceleton и

Рейтинг редакторов:
0

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

Ваш e-mail не будет опубликован.