TechBlogSD - Все для WordPress и WEB разработки
WEB и WordPress инструкции, новости, обзоры тем и плагинов

Grav – Часто используемые настройки и сниппеты кода (MarkDown, Twig, редактор Atom)

2 463
Содержание

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>

Далее перезагружаем апачь:

Источник записи:

Этот веб-сайт использует файлы cookie для улучшения вашего опыта. Мы предполагаем, что вы согласны с этим, но вы можете отказаться, если хотите. Принимаю Подробнее