Grav – HEADER по умолчанию для всех страниц сайта
title: ''
date: '2018-11-01 20:23'
published: true
media_order: poster.jpg
metadata:
description: ''
taxonomy:
category:
- WordPress
tag:
- 'WordPress - Плагины'
- 'WordPress - Админка'
page-toc:
active: true
template: blog_item
highlight:
enabled: true
lines: true
page-addon:
ifarmelazy: true
MARKDOWN настройки – для заголовков страниц записей
Title (Название) страницы
title: 'Grav + Gantry 5 - Самые необходимые дополнения и ресурсы для работы'
Description (Описание) страницы
metadata:
description: 'Из данной записи Вы узнаете о 7 веселых расширениях для Chrome которые были разработаны веселыми людьми из Github'
Дата создания страницы (Auto Date)
date: '2018-09-15 05:19'
Для автоматической записи даты в hedaer страницы необходимо установить плагин:
Auto Date – https://github.com/getgrav/grav-plugin-auto-date
Таксономии страницы
Вариант №1 в случае одиночного использования таксономий
taxonomy:
category: WEB
tag: Markdown
Вариант №2 в случае использования таксономий более одной штуки
taxonomy:
category:
- Grav
tag:
- Grav - Gantry 5
- Grav - Плагины
Автоматические заголовки на основе H1-H6 в теле страницы (Page Toc)
Для автоматической генерации заголовков должен быть установлен плагин:
Page Toc – https://github.com/trilbymedia/grav-plugin-page-toc
Шаблон дочерней страницы блога
template: blog_item
Для того что бы каждый раз не рыться в админке, в случае если Grav в очередной раз не верно определил шаблон для новой страницы блога, лучше данный шаблон прописать сразу в ручном режиме.
Кастомные настройки контента для страниц
page-addon:
ifarmelazy: true
Данные настройки на самом деле придуманы мной для упрощения работы с выводом того или иного типа контента. Например в данной записи хедера я активировал ленивую загрузку iframe. И в случае если данная опция активна, в файле userthemesg5_heliumcustomtemplatespartialsblog_item.html.twig
скрипт отложенной загрузки будет подключен:
{% if attribute(page.header, 'page-addon').ifarmelazy %}
<script async src="//cdn.iframe.ly/embed.js" charset="utf-8"></script>
{% endif %}
Но естественно что для отображения iframe необходимо добавить например видео с YouTube:
<div class="YouTubeVideo" style="background:linear-gradient(rgba(0, 0, 0, 0.752), rgba(0, 0, 0, 0.52)), transparent url(/user/images/YouTubeVideoPreloader.gif);left: 0; width: 100%; height: 0; position: relative; padding-bottom: 56.2493%;"><div class="iFrameLazyLoad" style="background:linear-gradient(rgba(0, 0, 0, 0.752), rgba(0, 0, 0, 0.52)), transparent url(/wp-content/plugins/sds-uapa-wpallimp/preloader.svg);left: 0; width: 100%; height: 0; position: relative; padding-bottom: 56.2493%;background-position: 50% 50%;background-repeat: no-repeat;margin-bottom: 25px;"><iframe data-iframely-url="https://www.youtube.com/embed/54WI1XSilb4" style="border: 0; top: 0; left: 0; width: 100%; height: 100%; position: absolute;" allowfullscreen scrolling="no"></iframe></div></div>
Активация TWIG и MARKDOWN препроцессоров в теле страницы
Данная опция активирует или дезактивирует обработчики TWIG и MARKDOWN в теле страницы.
process:
markdown: true
twig: true
twig_first: true
Подсветка синтаксиса кода (Highlight)
В данном случае срабатывает подсветка синтаксиса которая зависит от плагина:
Highlight – https://github.com/getgrav/grav-plugin-highlight
highlight:
enabled: true
lines: true
TWIG настройки – для тела страниц записей
Автоматические заголовки на основе H1-H6 в теле страницы (Page Toc)
Для автоматической генерации заголовков должен быть установлен плагин:
Page Toc – https://github.com/trilbymedia/grav-plugin-page-toc
В идеале лучше всего прописать данный код:
{# PAGE TOC START #}
{#
page-toc:
active: true
#}
{% if attribute(page.header, 'page-toc').active %}
{% set table_of_contents = toc(page.content) %}
{% if table_of_contents is not empty %}
Содержаниежание# PAGE TOC END #}
В файле:
userthemesg5_heliumcustomtemplatespartialsblog_item.html.twig
Галерея изображений плагина Unitegallery
Естественно для начала устанавливаем сам плагин, его можно установить из списка доступных плагинов в панели администрирования Grav или загрузить здесь: https://github.com/variar/grav-plugin-unitegallery
После установки и активайии плагина добавляем в нужную страницу изображения данный код:
<div class="modular-row gallery-container {{ page.header.class }}">
{{ unite_gallery(page.media.images) | raw}}
</div>
ATOM настройки – для работы с контентом страниц для Grav
Поиск и замена всех изображений по маске для Writage экспортов *.md файлов
При помощи данной операции поиска и замены мы удаляем “media/” в marcdown формате изображений после экспорта из WordPress. Плюс присваиваем классы figure-img и img-fluid для активации отложенной загрузки изображений. За отложенную загрузку изображений ответчает плагин:
Lazy Image – https://github.com/unsaturated/grav-plugin-lazy-image
Найти (в режиме регулярных выражений):
(![.*]()(media/)(.*)())
Заменить кодом ниже для отображения картинки с ленивой загрузкой и с прмменением лайтбокса плагина FeatherLight:
$1$3)
Заменить кодом ниже только для отображения картинки с ленивой загрузкой:
$1$3?classes=figure-img,img-fluid)
Реультат:
Работа с изображениями
Эскиз страницы:
![ALT Image](https://mediadoma.com/wp-content/uploads/2017/10/VueJs-Click-Events-and-Scrolls-to-Elements-Component-FreebiesMall-768x433.jpg?thumbnail=default&display=thumbnail)
Подробнее о работе с изображениями здесь:
https://learn.getgrav.org/content/media
Ubuntu 16.0.4 важные команды
Сборка важных команд для установки обвязки в Grav
Установка PDO sqlite на PHP 7.3
sudo apt-get install php7.3-sqlite
sudo service apache2 restart
Установка Memcached на Ubuntu 18.04 & 16.04 LTS
Взял здесь:
https://tecadmin.net/install-memcached-with-php-on-ubuntu/
sudo apt-get update
sudo apt-get install memcached
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install -y php php-dev php-pear libapache2-mod-php
sudo apt-get install -y php-memcached
sudo service apache2 restart
Если после смены версии php на 7.3 php файлы загружаются а не исполняются в VebMin & Virtualmin
По сути необходимо закомментировать данные строки:
SetHandler application/x-httpd-php
SetHandler application/x-httpd-php-source
Для это окрываем консоль и вводим комманду:
nano /etc/apache2/mods-enabled/php7.3.conf
Дале откроется редактор файлов VebMin, здесь нужно закомментировать сроки приведенные выше. В итоге для исполнения php, файл php7.3.conf должен выглядеть так:
<FilesMatch ".+.ph(ar|p|tml)$">
# SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch ".+.phps$">
# SetHandler application/x-httpd-php-source
# Deny access to raw php sources by default
# To re-enable it's recommended to enable access to the files
# only in specific virtual host or directory
Require all denied
</FilesMatch>
# Deny access to files without filename (e.g. '.php')
<FilesMatch "^.ph(ar|p|ps|tml)$">
Require all denied
</FilesMatch>
# Running PHP scripts in user directories is disabled by default
#
# To re-enable PHP in user directories comment the following lines
# (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
# prevents .htaccess files from disabling it.
<IfModule mod_userdir.c>
<Directory /home/*/public_html>
php_admin_flag engine Off
</Directory>
</IfModule>
Далее перезагружаем апачь: