Как подготовить сайт на cms Grav для работы в рунете. Обзор grav cms


Обзор пяти популярных flat-file CMS: Grav, Kirby, Pico, Bludit, HTMLy

Бывают ситуации, когда вам надо сделать простенький сайт, будь то блог или визитка, но писать все на чистом HTML было бы нецелеобразно и трудозатратно. Решение есть в виде CMS на базе статических файлов. Такое решение может являться разумной альтернативой громоздким монстрам вроде Wordpress, и непростым в освоении генераторам статичных страниц. Однако довольно непросто сделать выбор, когда в сети существуют десятки таких CMS. Здесь мы рассмотрим наиболее удачные и популярные решения.

Grav CMS

Эта система является наиболее мощной среди рассмотренных. Высокий рейтинг на гитхаб говорит о ее популярности, а изменения туда вносятся чуть ли ни каждый день. Начиная с 2014 года, было выпущено уже более 80 версий этой платформы. Также существует большое количество тем, плагинов и готовых решений для блога и корпоративного сайта.

Краткая информация

Сайт: getgrav.orgАккаунт на Github: getgrav/gravРейтинг на Github: ~5100 Первый релиз: 08/13/2014 Последний релиз: 17.02.2017 Количество выпущенных версий: ~97Административная панель: есть Количество плагинов: ~132Количество тем: ~64 Портфолио: 18 сайтов Язык разметки: Markdown Шаблонизатор: Twig Лицензия: Free

Установка

После копирования файлов вам требуется ввести данные администратора. Пароль должен быть не менее 8 символов, иметь числа и разный регистр символов:

Первоначальная установка в Grav CMS

После ввода данных вы сразу попадете в административную панель:

Административная панель Grav CMS

Краткий обзор

В панели присутствует куча тонких настроек для сайта, языков, HTTP заголовков, кеширования, шаблонов, и много другого, что делает ее больше системой для гиков. Для создания страниц так же имеется множество общих и тонких настроек. Здесь же можно обновлять плагины и темы. По сравнению с другими системами скорость загрузки страниц здесь существенно ниже. Вполне возможно, что с помощью настроек эту загрузку можно ускорить.

Есть визуальный редактор с функцией предосмотра, так же есть множество настроек: выбор типа страницы, редиректы, кеширование, видимость, шаблон, расширение URL и многое другое.

Редактирование контента в Grav CMS

Общее впечатление

Не смотря заявление о том, что система является сверхлегкой для освоения, потребуется немало времени, чтобы разобраться, для чего нужны те или иные настройки. С другой стороны, это делает ее более универсальной.

Pico CMS

Чем мне понравилась эта система, так это своей простотой, но тем не менее достаточной функциональностью для ведения блога. Очевидно, этим она завоевала и высокий рейтинг на гитхабе. Для создания контента тут не надо даже иметь административную панель, все данные о странице храняться в одном файле.

Краткая информация

Сайт: picocms.orgАккаунт на Github: picocms/PicoРейтинг на Github: ~2300 Количество выпущенных версий: ~12 Первый релиз: 04/04/2012 Последний релиз: 04/10/2016Административная панель: устанавливается отдельноКоличество плагинов: ~19Количество тем: ~13Портфолио: 15 сайтовЯзык разметки: Markdown Шаблонизатор: Twig Лицензия: Free

Установка

Для установки достаточно скопировать все файлы в корневую папку сайта. Базовая установка весит всего 1,84 Мб! Если вы все сделали правильно, то вы попадете на следующую страницу:

Лицевая страница pico CMS после установки

Краткий обзор

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

Для удобного редактирования контента необходимо установить административную панель, которую можно скачать с официального сайта. Если вы никогда не видели идеал простоты и минималистичности интерфейса, то эта панель вам ее предоставит. Здесь можно сделать всего три вещи:

  1. Создавать страницы
  2. Редактировать страницы
  3. Удалять страницы

Все! Тут нет даже визуального редактора. Впрочем, при markdown разметке он не очень то и нужен:

Административная панель pico CMS

Общее впечатление

Pico CMS не предоставляет расширенного функционала из под коробки, однако подкупает своей простотой и минимализмом. Она позволяет довольно быстро сделать собственную конфигурацию движка, где будет только самое необходимое. Ее однозначно можно применять для создания сайта-визитки или личного блога. Эта система однозначно оправдывает свое призвание "Невероятно простой, молниеносно быстрой flat-file CMS".

Kirby CMS

Kirby CMS является платной. Однако ничего не мешает ее скачать на официальном сайте и протестировать на локальном сервере. А если у вас нет совести, то можно даже и не покупать ее). Впрочем, свои деньги она оправдывает, так как система достаточно простая и удобная в использовании, а на выбор есть большое количество тем и плагинов. Кроме того, Kirby может похвастаться огромным портфолио (около 500 проектов!)

Краткая информация

Сайт: getkirby.comАккаунт на Github: getkirby/starterkitРейтинг на Github: ~290 Количество выпущенных версий: ~17 Первый релиз: 7/09/2014 Последний релиз: 11/12/2016 Административная панель: есть Количество плагинов: ~68Количество тем: ~88Портфолио: > 500 сайтовЯзык разметки: Markdown Шаблонизатор: - Лицензия: Commercial

Установка

Установка аналогична - достаточно скопировать все файлы в корневую папку сайта. Если вы все сделали правильно, то вы попадете на главную страницу:

Лицевая страница Kirby CMS после установки

По адресу example.com/panel можно перейти в административную панель движка. Первоначально вам предложат создать аккаунт администратора. Здесь можно выбрать язык панели, в том числе и русский.

Страница создания аккаунта Kirby CMS

После создания аккаунта вы попадете в административную панель. Панель выглядит слегка мрачновато, но ничто не мешает отредактировать дизайн под свой вкус:

Административная панель Kirby CMS

Краткий обзор

В административной панели есть поддержка множества пользователей, удобный редактор текста, теги, ЧПУ. Для всего остального разработано множество плагинов, которые можно скачать с официального сайта.

Контент можно редактировать как напрямую в папке content в .txt файлах (не смотря на расширение, используется markdown разметка), так и в админке. В панели есть удобный редактор markdown разметки. Есть кнопка предосмотра сделанных изменений.

Редактор текста в kirby CMS

Общее впечатление

Kirby является простой, но в то же время функциональной CMS, для начала работы с которой не надо тратить много времени на изучение и настройку. В то же время для нее имеется обширная документация и множество плагинов. Ее единственным минусом является платная лицензия.

Bludit CMS

Bludit - это начинающий проект, основанный на достаточно известном Nibbleblog, но со множеством улучшений.

Краткая информация

Сайт: bludit.comАккаунт на Github: dignajar/bluditРейтинг на Github: ~150 Количество выпущенных версий: ~29 Первый релиз: 14/09/2015 Последний релиз: 12/10/2016 Административная панель: есть Количество плагинов: ~30Количество тем: ~22Портфолио: 34 сайтаЯзык разметки: Markdown Шаблонизатор: - Лицензия: Free

Установка

После копирования файлов в папку и перехода на главную страницу вы увидите следующее окно:

Окно установки в Bludit

Безусловно радует, что здесь есть поддержка русского языка.

Потом вам необходимо придумать пароль для администратора (не менее шести символов):

Окно установки в Bludit

После успешной установки вы попадете на главную страницу

Лицевая страница Bludit

Попасть в административную панель можно по адресу example.com/admin

Административная панель Bludit

Краткий обзор

Административная панель имеет удобный markdown редактор, в котором есть все для расширенного форматирования текста. Здесь же можно добавить краткое описание записи и теги.

Редактирование текста в Bludit

Здесь можно создавать новые страницы и посты, добавлять пользователей, производить множество настроек. В отличие от других рассмотренных CMS, здесь же можно и устанавливать необходимые плагины.

Общее впечатление

Система показала себя весьма легкой и приятной в работе.

HTMLy CMS

HTMLy отличается от выше рассмотренных систем тем, что она оптимизирована под ведение блогов. Авторы утверждают, что при минимальной мощности хостинга (512 Мб памяти) можно без проблем держать на сайте от 10000 постов.

Краткая информация

Сайт: htmly.comАккаунт на Github: danpros/htmlyРейтинг на Github: ~450 Количество выпущенных версий: ~38 Первый релиз: 31/06/2014 Последний релиз: 24/01/2016 Административная панель: есть Количество плагинов: - Количество тем: ~6 Портфолио: - Язык разметки: Markdown Шаблонизатор: - Лицензия: Free

Установка

С гитхаба предлагается скачать установщик в виде единственного файла installer.php. После скачивания и перехода на него попадаем на страницу установки, где необходимо указать логин и пароль, а также можно по желанию заполнить дополнительные данные:

Страница установки HTMLy

После установки предлагается испробовать систему в действии, написав свой первый пост:

Страница написания поста

Краткий обзор

Платформа предоставляет практически все, что необходимо для ведения блога. Посты можно разделять по видам: обычный пост, пост с картинкой/видео/аудио/ссылкой/цитатой. В админке можно создавать категории, черновики, делать бэкапы, импортировать посты с RSS Feed 2.0, производить множество настроек. Система предоставляет стандартные виджеты: популярные/похожие/последние статьи, архив статей, облако тегов. На выбор есть шесть встроенных тем.

Тема 'blog' для HTMLy

Общее впечатление

На мой взгляд, наиболее подходящая система для ведения блога, мощная и вместе с тем простая в освоении.

Подведя итоги

Если разделить рассмотренные CMS по областям применения, то можно получить примерно следующее:

Pico, Kirby - сайт-визитка, мини-блог

Bludit, HTMLy - блог

Grav - информационный или корпоративный портал

scriptify.ru

две замены для WordPress – Glashkoff.com

Значительная часть сайтов работает на системе 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

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

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

Настройка рубрикации в Bolt

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

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

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

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

Редактор страниц 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 – это файлы с расширением .md (формат YAML), содержащие в себе конфигурацию и текст страницы. Оформление задаётся не HTML‐тегами, а разметкой Markdown:

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

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

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

Совет

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

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

Похожие записи:

glashkoff.com

Документация по работе с CMS GRAV – Часть 1

Инструмент для работы с этим ТЗ на винде – markdownpad.com. Так же можно использовать другие среды разработки, где есть встроенный или подключаемый функционал markdown

Официальная документация по работе с GRAV – https://learn.getgrav.org

Установка GRAV

Более подробно по установке GRAV можно прочитать в официальной документации https://learn.getgrav.org/basics/installation 1. Качаем GRAV на странице https://learn.getgrav.org/basics/installation Необходима сборка с админ панелью: Либо качайте сразу по https://getgrav.org/download/core/grav-admin/1.3.3

Размещаем данный дистрибутив сайта на домен

Если сайт не открылся, возможно необходимо выставить настройку на сервере(лучше обратиться к своим программистам):

Готово. GRAV размещен и готов к работе.

Админ панель сайта:

Более подробно по админ панели GRAV в документации https://learn.getgrav.org/admin-panel/introductio

После того, как вы зайдете в админку сайта, у вас откроется вот такой экран:

Все самые важные пункты я выделил красной стрелкой.

Dashboard

Более подробно по Dashboard в документации https://learn.getgrav.org/admin-panel/dashboard

Тут отображается статистика сайта.Обратить стоит внимание на пункт Clear Cache. По нажатию в выпадающем меню можно выбрать All cache – при необходимости почистить Cache – чистим всегда All cache.

Configuration

Данный пункт меню необходим для настройки сайта. Оставляем все эти настройки по умолчанию.

Основные пункты данного меню:

Pages

Более подробно по Pages в документации https://learn.getgrav.org/admin-panel/pages-admin

В данном пункте меню можно создавать новые страницы, редактировать старые, и наблюдать всю структуру страниц сайта. Более того, так же виден шаблон страницы.

На приведенном скрине видно, что Главная страница(Home) имеет шаблон default, а другие страницы blog и blog_item.

Если у страницы есть дочерние страницы – то будет отображаться символ + или - возле названия страницы.

Создание новых страниц происходит по нажатию на кнопку Add – в правом верхнем углу.

Создание новых страниц

Более подробно по созданию новых страниц в документации https://learn.getgrav.org/admin-panel/pages-admin

Экран, представленный ниже, открывается после нажатия на кнопку Add – описано в предыдущим пункте

В данных полях мы можем задать параметры страницы:

Plugins

Более подробно по Plugins в документации https://learn.getgrav.org/plugins

Страница плагинов:

На экране – все установленные плагины, а справа – можно активировать или деактивировать любой плагин.

Стоит обратить внимание на блок в правом верхнем углу – по нажатию кнопки Add можно установить новый плагин, введя его имя.

Themes

Более подробно по Themes в документации https://learn.getgrav.org/themes Данная страница – установленные темы на сайте. Добавить тему можно так же, нажав на кнопку Add в правом вернем углу.

Файловая структура CMS GRAV

Структура сайта имеет следующий вид:

Особое внимание нужно уделить папке user – большая часть настроек, файлы темы и контент хранится именно в этой папке.

Структура файлов папки user

Внимание! По умолчанию, структура данной папки может выглядеть немного иначе. По этому описываю только то, что есть в стандартной сборке GRAV+admin. Структура может измениться, при установке некоторых плагинов, или выставления каких-либо параметров и настроек сайта.

А в папке Home хранится файл с контентом, формата .md (MarkDown) – весь контент, в админ панели сайта, можно размещать с помощью обычного редактора(без какого либо синтаксиса) – автоматически переведет в синтаксис MarkDown. Либо в режиме эксперта, уже прям через админку размещать контент в синтаксисе MarkDown

В данной папке находятся все установленные вами плагины.

В этой папке хранятся установленные темы.

Обязательно уделяем этой папке внимание – там находятся все шаблоны страниц(типы), которые имеют формат .html.twig, файлы дизайна темы (CSS, JS, Картинки):

На данном скриншоте видно, что существуют шаблоны страницы такие как:

В папке partialsтак же имеются шаблоны страниц. Многие шаблоны страниц или плагинов будут хранится именно в этой папке.

Установка необходимых плагинов

Более подробно по установке плагинов в документации https://learn.getgrav.org/admin-panel/plugins

Устанавливаем ниже приведенные плагины через админ панель сайта.

Напоминаю, находится вот в этом пункте админ панели сайта:

Установка плагина происходит путем нажатия на кнопку Add и в поиске вводим название плагина.

Например, для установки плагина https://github.com/getgrav/grav-plugin-relatedpages вводим его имя и нажимаем кнопку Install:

Удаление плагинов происходит следующим путем:

Grav-plugin-admin

https://github.com/getgrav/grav-plugin-admin

Данный плагин уже встроен в сборку Grav + Admin panel

Если вы устанавливали дистрибутив GRAV по https://getgrav.org/download/core/grav-admin/1.3.3

Grav-plugin-admin-addon-revisions

https://github.com/david-szabo97/grav-plugin-admin-addon-revisions

При установки данного плагина появляется возможность “откатывать” изменения страниц. Появляется новый блок в админке Revisions:

Grav-plugin-tntsearch

https://github.com/trilbymedia/grav-plugin-tntsearch

Данный плагин необходим для внедрения в сайт поиска. Обязательным пунктом является перейти в плагин, и нажать на кнопку Re-Index Content, при первой активации кнопка может называться Index Content.

Данный плагин необходим для внедрения в сайт поиска. Обязательным пунктом является перейти в плагин, и нажать на кнопку Re-Index Content, при первой активации кнопка может называться Index Content.

Данное действие необходимо для сканирования всех страниц сайта данным плагином.

Grav-plugin-cookieconsent

https://github.com/naucon/grav-plugin-cookieconsent

При активации данного плагина в футере(нижней части сайта) появляется оповещение посетителей сайта о использования сайта Cookie:

Grav-plugin-form

https://github.com/getgrav/grav-plugin-form

Плагин для создания форм заявок, обратных звонков.

Grav-plugin-widget

https://github.com/sojimaxi/grav-plugin-widget

Данный плагин позвляет создавать виджеты через админку. После установки данного плагина автоматически создается для него папка widgets в /user/pages/ А так же новый пункт в адин панели сайта на странице Pages – в правом верхнем углу появляется кнопка Create Widget

Подробная информация тут – https://github.com/sojimaxi/grav-plugin-widget

Grav-plugin-thumb-ratings

https://github.com/iusvar/grav-plugin-thumb-ratings

Данный плагин позволяет внедрить рейтинг для каких либо страниц

Grav-plugin-social-seo-metatags

https://github.com/clemdesign/grav-plugin-social-seo-metatags

Плагин, необходимый для использования SEO метатегов для конкретных страниц:

В контенте страницы(.md) указываем SEO параметры – можно сделать через админку.

Recaptchacontact

https://github.com/aradianoff/recaptchacontact

Данный плагин необходим для установки reCAPTCHA на сайт, в частности например на формы заявок.

В контенте страницы(.md) указываем recaptchacontact: true. Так же, можно сделать это через админку редактируя конкретную страницу.

Grav-plugin-sitemap

https://github.com/getgrav/grav-plugin-sitemap

Плагин для создания sitemap вашего сайта.

После установки и активации плагина карта сайта XML уже достпна по адресу /sitemap

Grav-plugin-backup-manager

https://github.com/leotiger/grav-plugin-backup-manager

Плагин предназначен для автоматического создания backup-ов сайта. Время, объем, период – выставляются в настройках плагина.

Grav-ganalytics

https://github.com/escopecz/grav-ganalytics

Плагин для внедрения в сайт статистки Google Analytics.

В настройках плагина необходимо ввести Tracking ID вашего счетчика

Ggrav-recent-posts

https://github.com/GittiHab/grav-recent-posts

Плагин необходмый для вывода последних записей вашего блога

Grav-plugin-blogroll

https://github.com/Perlkonig/grav-plugin-blogroll

Grav-plugin-relatedpages

https://github.com/getgrav/grav-plugin-relatedpages

Для нормальной работы плагина вам необходимо скопировать файл user/plugins/relatedpages/relatedpages.yaml в папку user/config/plugins/relatedpages.yaml – с заменой старого файла.

Так же обратите внимание на параметр score_threshold: 20 # minimum score needed to show up in the list – сколько в баллов должно быть соответствие страниц что бы выводить их в похожие. По умолчанию этот параметр равен 20. В таком случае, я заметил что плагин не выводит похожие страницы. Выход нашелся изменением данного параметра до 1. Причем я правил в самом файле(user/config/plugins/relatedpages.yaml), а не через админ панель сайта и настройки плагина. Если зайти в настройки плагина, и нажать сохранить – файл перезаписывается в исходный – и похожие страницы уже выводится не будут. Исходный код файла user/config/plugins/relatedpages.yaml который будет работать:

enabled: true # set to false to disable this plugin completelylimit: 5 # the number of related pages to displayshow_score: true # toggle to determine if scores should be displayed in outputscore_threshold: 1 # minimum score needed to show up in the listfilter: # filter a configurable collection of pages to compareitems:@page: /blog # supports @self, @page, and @taxonomy collectionsorder:by: date # order type by defaultdir: desc # order directionpage_in_filter: true # true if the current page must be in the filtered collectionexplicit_pages:process: true # true|flase to enable this explicit page matchingscore: 100 # score (0 - 100) to give explicit pagestaxonomy_match: # taxonomy type matchingtaxonomy: tag # which taxonomy type to usetaxonomy_taxonomy:process: true # true|false to enable taxonomy to taxonomy matchingscore_scale: # scores for number of matches1: 502: 753: 100taxonomy_content:process: true # true|false to enable taxonomy to content matchingscore_scale: # scores for number of matches1: 202: 303: 454: 605: 706: 807: 908: 100content_match: # Disable this if you have lots of posts, performance implications...process: false # true|false to enable content to content matching

Grav-plugin-breadcrumbs

https://github.com/getgrav/grav-plugin-breadcrumbs

Grav-plugin-pagination

https://github.com/getgrav/grav-plugin-pagination

Плагин дял внедрения пагинации на ваш сайт.

Работает только когда есть более 10 дочерних страниц у родительской.

Настройка URL страниц пагинации идет в этом файле: \user\plugins\pagination\templates\partials\pagination.html.twig, а именно в этом блоке: `\ {% for paginate in pagination %}

{% if paginate.isCurrent %} <li><span>{{ paginate.number }}</span></li> {% elseif paginate.isInDelta %} {% set url = (base_url ~ pagination.params ~ paginate.url)|replace({'//':'/'}) %} <li><a href="{{ url }}">{{ paginate.number }}</a></li> {% elseif paginate.isDeltaBorder %} <li><span>&hellip;</span></li> {% endif %}

{% endfor %} `\

Grav-metrika

https://github.com/helios-ag/grav-metrika

Плагин для внедрения Яндекс.Метрики.

Необходимо просто вставить номер счетка в настройках:

Grav-plugin-cachebuster

Плагин, который позволяет вам легко очистить Cache.

По умолчанию плагин выключен

Установка своей темы(верстка)

Размещение собственного шаблона, когда он уже готов

Как и говорилось ранее, файлы темы находятся по адресу user\themes\ Там и можно создать папку со всеми системными файлами темы(js, css и другие):

Если в шаблоне все подготовлено верно – останется создать несколько системных файлов для GRAV(defult.html.twig, blog.html.twig и так далее). Предлагаю обратить внимание на неплохой мануал по созданию темы https://cmscafe.ru/docs/grav/themes/785-sozdanie-temy-dlya-grav

Создание своего шаблона “с нуля”

Для создания своей темы предлагаю для начала ознакомится с мануалом https://cmscafe.ru/docs/grav/themes/785-sozdanie-temy-dlya-grav

После создания темы по данному примеру в админке в разделе Themes: Где мы уже сможем активировать нашу тему

Примеры

Для начала нужно создать шаблоны страниц(именно те файлы, которые мы например defult.html.twig), которые в свою очередь должны хранится по адресу user/themes/test1/templates/

И имеют следующие содержание: `\ {% extends ‘partials/base.html.twig’ %}

{% block content %} {{ page.content }}

{% endblock %} `\

На примере видно, что командой {% extends 'partials/base.html.twig' %} мы “присвоим этому шаблону контент из файла” partials/base.html.twig

А далее идет блок:{% block content %} {{ page.content }} {% endblock %} – начало блока контента, контент страницы и конец блока контента. {{ page.content }} – это как раз тот контент, который вы будете добавлять в страницы, например через админку.

Подключение других Twig-ов

Создаем папки, сохраняю стандартную структуру: user\themes\название вашей темы\templates\partials\

Создаем там файлы header.html.twig footer.html.twig а так же основной шаблон страницы base.html.twig

Базовый шаблон base.html.twig:

Уже в файлах header.html.twig и подобных – мы можем добавлять простой HTML код – в данном случае код Хидера:

<header> /// </header>

Примерно по такому же принципу подготовлены файлы footer.html.twig Подключение header.html.twig либо других twig-ов идет по такому примеру: В файле, например base.html.twig прописываем команду {% include 'partials/header.html.twig' %} – где адрес и название файла(partials/header.html.twig) может быть любым.

Twig

Работа с twig-ами достаточно сложная. Есть документация по их работе на GRAV – https://learn.getgrav.org/themes/twig-primer

А так же, полная официальная документация https://twig.symfony.com/doc/2.x/”>https://twig.symfony.com/doc/2.x/

Русская документация(не официальный сайт) – http://x-twig.ru

Синтаксис twig:

{# Так записываются комментарии #} – т.е. комментарии записываются внутри скобок {# и #}

Так же, есть два вида разделителей: {% ... %} и {{ ... }}.

Первый из них используется для выполнения операторов, таких как for-циклы, а второй печатает результат выражения в шаблон. Более подробно синтаксис twig предлагаю посмотреть тут -http://x-twig.ru

werstey.ru

Как подготовить сайт на cms Grav для работы в рунете

Grav сравнительно молодая CMS, которая до сих пор имеет некоторые проблемы с языками отличными от Английского. Это руководство должно помочь вам сделать сайт на Grav полностью русскоязычным.

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

Первый этап настройка и установка:

Второй этап шаблоны

На этом этапе стоит поговорить, о том, как сделать сайт русским для пользователя.

Стандартный шаблон

Не стандартный шаблон

Как я и говорил, теперь некоторые шаблоны изначально поддерживают русский язык. Допустим тема Medium.

Собственно, так вы можете настроить Grav полностью на русский язык :-)

Comments

Next Post Previous Post

gravcms.ru

Что такое Grav? | Grav CMS на русском

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

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

Grav - это модульная архитектура, вы можете выбрать то, что нужно вам, при этом уже сейчас в нем есть все необходимо для строительства любого сайта. Сейчас Grav состоит из: Ядра CMS (Core), Плагинов (Plugins), Темы (Theming) и отдельного плагина админ-панели, и все это служит только одной цели, чтоб вы могли создавать контент, просто, быстро и приятно.

Давайте посмотрим, что может дать каждая часть Grav в отдельности.

Ядро

Контент

Темы

Плагины

Админка

gravcms.ru

Документация по работе с CMS GRAV – Часть 1

Инструмент для работы с этим ТЗ на винде – markdownpad.com. Так же можно использовать другие среды разработки, где есть встроенный или подключаемый функционал markdown

Официальная документация по работе с GRAV – https://learn.getgrav.org

Более подробно по установке GRAV можно прочитать в официальной документации Installation 1. Качаем GRAV на странице https://getgrav.org/downloads Необходима сборка с админ панелью: Либо качайте сразу по этой ссылке

Размещаем данный дистрибутив сайта на домен

Если сайт не открылся, возможно необходимо выставить настройку на сервере(лучше обратиться к своим программистам):

Готово. GRAV размещен и готов к работе.

Более подробно по админ панели GRAV в документации Introduction

После того, как вы зайдете в админку сайта, у вас откроется вот такой экран:

Все самые важные пункты я выделил красной стрелкой.

Dashboard

Более подробно по Dashboard в документации Dashboard

Тут отображается статистика сайта.Обратить стоит внимание на пункт Clear Cache. По нажатию в выпадающем меню можно выбрать All cache – при необходимости почистить Cache – чистим всегда All cache.

Configuration

Данный пункт меню необходим для настройки сайта. Оставляем все эти настройки по умолчанию.

Основные пункты данного меню:

Pages

Более подробно по Pages в документации Pages

В данном пункте меню можно создавать новые страницы, редактировать старые, и наблюдать всю структуру страниц сайта. Более того, так же виден шаблон страницы.

На приведенном скрине видно, что Главная страница(Home) имеет шаблон default, а другие страницы blog и blog_item.

Если у страницы есть дочерние страницы – то будет отображаться символ + или - возле названия страницы.

Создание новых страниц происходит по нажатию на кнопку Add – в правом верхнем углу.

Создание новых страниц

Более подробно по созданию новых страниц в документации Pages

Экран, представленный ниже, открывается после нажатия на кнопку Add – описано в предыдущим пункте

В данных полях мы можем задать параметры страницы:

Plugins

Более подробно по Plugins в документации Plugins

Страница плагинов:

На экране – все установленные плагины, а справа – можно активировать или деактивировать любой плагин.

Стоит обратить внимание на блок в правом верхнем углу – по нажатию кнопки Add можно установить новый плагин, введя его имя.

Themes

Более подробно по Themes в документации Themes Данная страница – установленные темы на сайте. Добавить тему можно так же, нажав на кнопку Add в правом вернем углу.

Структура сайта имеет следующий вид:

Особое внимание нужно уделить папке user – большая часть настроек, файлы темы и контент хранится именно в этой папке.

Структура файлов папки user

Внимание! По умолчанию, структура данной папки может выглядеть немного иначе. По этому описываю только то, что есть в стандартной сборке GRAV+admin. Структура может измениться, при установке некоторых плагинов, или выставления каких-либо параметров и настроек сайта.

А в папке Home хранится файл с контентом, формата .md (MarkDown) – весь контент, в админ панели сайта, можно размещать с помощью обычного редактора(без какого либо синтаксиса) – автоматически переведет в синтаксис MarkDown. Либо в режиме эксперта, уже прям через админку размещать контент в синтаксисе MarkDown

В данной папке находятся все установленные вами плагины.

В этой папке хранятся установленные темы.

Обязательно уделяем этой папке внимание – там находятся все шаблоны страниц(типы), которые имеют формат .html.twig, файлы дизайна темы (CSS, JS, Картинки):

На данном скриншоте видно, что существуют шаблоны страницы такие как:

В папке partialsтак же имеются шаблоны страниц. Многие шаблоны страниц или плагинов будут хранится именно в этой папке.

Более подробно по установке плагинов в документации Plugins

Устанавливаем ниже приведенные плагины через админ панель сайта.

Напоминаю, находится вот в этом пункте админ панели сайта:

Установка плагина происходит путем нажатия на кнопку Add и в поиске вводим название плагина.

Например, для установки плагина Related Pages вводим его имя и нажимаем кнопку Install:

Удаление плагинов происходит следующим путем:

Grav-plugin-admin

Ссылка на плагин

Данный плагин уже встроен в сборку Grav + Admin panel

Если вы устанавливали дистрибутив GRAV по этой ссылке

Grav-plugin-admin-addon-revisions

Ссылка на плагин

При установки данного плагина появляется возможность “откатывать” изменения страниц. Появляется новый блок в админке Revisions:

Grav-plugin-tntsearch

Ссылка на плагин

Данный плагин необходим для внедрения в сайт поиска. Обязательным пунктом является перейти в плагин, и нажать на кнопку Re-Index Content, при первой активации кнопка может называться Index Content.

Данное действие необходимо для сканирования всех страниц сайта данным плагином.

Grav-plugin-cookieconsent

Ссылка на плагин

При активации данного плагина в футере(нижней части сайта) появляется оповещение посетителей сайта о использования сайта Cookie:

Grav-plugin-form

Ссылка на плагин

Плагин для создания форм заявок, обратных звонков.

Grav-plugin-widget

Ссылка на плагин

Данный плагин позвляет создавать виджеты через админку. После установки данного плагина автоматически создается для него папка widgets в /user/pages/ А так же новый пункт в адин панели сайта на странице Pages – в правом верхнем углу появляется кнопка Create Widget

Подробная информация тут – https://github.com/sojimaxi/grav-plugin-widget

Grav-plugin-thumb-ratings

Ссылка на плагин

Данный плагин позволяет внедрить рейтинг для каких либо страниц

Grav-plugin-social-seo-metatags

Ссылка на плагин

Плагин, необходимый для использования SEO метатегов для конкретных страниц:

В контенте страницы(.md) указываем SEO параметры – можно сделать через админку.

Recaptchacontact

Ссылка на плагин

Данный плагин необходим для установки reCAPTCHA на сайт, в частности например на формы заявок.

В контенте страницы(.md) указываем recaptchacontact: true. Так же, можно сделать это через админку редактируя конкретную страницу.

Grav-plugin-sitemap

Ссылка на плагин

Плагин для создания sitemap вашего сайта.

После установки и активации плагина карта сайта XML уже достпна по адресу /sitemap

Grav-plugin-backup-manager

Ссылка на плагин

Плагин предназначен для автоматического создания backup-ов сайта. Время, объем, период – выставляются в настройках плагина.

Grav-ganalytics

Ссылка на плагин

Плагин для внедрения в сайт статистки Google Analytics.

В настройках плагина необходимо ввести Tracking ID вашего счетчика

Ggrav-recent-posts

Ссылка на плагин

Плагин необходмый для вывода последних записей вашего блога

Grav-plugin-blogroll

Ссылка на плагин

Grav-plugin-relatedpages

Ссылка на плагин

Для нормальной работы плагина вам необходимо скопировать файл user/plugins/relatedpages/relatedpages.yaml в папку user/config/plugins/relatedpages.yaml – с заменой старого файла.

Так же обратите внимание на параметр score_threshold: 20 # minimum score needed to show up in the list – сколько в баллов должно быть соответвсиве страниц что бы выводить их в похожие. По умолчанию этот параметр равен 20. В таком случае, я заметил что плагин не выводит похожие страницы. Выход нашелся изменением данного параметра до 1. Причем я правил в самом файле(user/config/plugins/relatedpages.yaml), а не через админ панель сайта и настройки плагина. Если зайти в настрйоки плагина, и нажать сохранить – файл перезаписывается в исходный – и похожие страницы уже выводится не будут. Исходный код файла user/config/plugins/relatedpages.yaml который будет работать:

enabled: true # set to false to disable this plugin completelylimit: 5 # the number of related pages to displayshow_score: true # toggle to determine if scores should be displayed in outputscore_threshold: 1 # minimum score needed to show up in the listfilter: # filter a configurable collection of pages to compareitems:@page: /blog # supports @self, @page, and @taxonomy collectionsorder:by: date # order type by defaultdir: desc # order directionpage_in_filter: true # true if the current page must be in the filtered collectionexplicit_pages:process: true # true|flase to enable this explicit page matchingscore: 100 # score (0 - 100) to give explicit pagestaxonomy_match: # taxonomy type matchingtaxonomy: tag # which taxonomy type to usetaxonomy_taxonomy:process: true # true|false to enable taxonomy to taxonomy matchingscore_scale: # scores for number of matches1: 502: 753: 100taxonomy_content:process: true # true|false to enable taxonomy to content matchingscore_scale: # scores for number of matches1: 202: 303: 454: 605: 706: 807: 908: 100content_match: # Disable this if you have lots of posts, performance implications...process: false # true|false to enable content to content matching

Grav-plugin-breadcrumbs

Ссылка на плагин

Grav-plugin-pagination

Ссылка на плагин

Плагин дял внедрения пагинации на ваш сайт.

Работает только когда есть более 10 дочерних страниц у родительской.

Настройка URL страниц пагинации идет в этом файле: \user\plugins\pagination\templates\partials\pagination.html.twig, а именно в этом блоке: `\ {% for paginate in pagination %}

{% if paginate.isCurrent %} <li><span>{{ paginate.number }}</span></li> {% elseif paginate.isInDelta %} {% set url = (base_url ~ pagination.params ~ paginate.url)|replace({'//':'/'}) %} <li><a href="{{ url }}">{{ paginate.number }}</a></li> {% elseif paginate.isDeltaBorder %} <li><span>&hellip;</span></li> {% endif %}

{% endfor %} `\

Grav-metrika

Ссылка на плагин

Плагин для внедрения Яндекс.Метрики.

Необходимо просто вставить номер счетка в настройках:

Grav-plugin-cachebuster

Ссылка на плагин

Плагин, который позволяет вам легко очистить Cache.

По умолчанию плагин выключен

Размещение собственного шаблона, когда он уже готов

Как и говорилось ранее, файлы темы находятся по адресу user\themes\ Там и можно создать папку со всеми системными файлами темы(js, css и другие):

Если в шаблоне все подготовлено верно – останется создать несколько системыных файлов для GRAV(defult.html.twig, blog.html.twig и так далее). Предлагаю обратить внимание на неплохой мануал по созданию темы https://cmscafe.ru/docs/grav/themes/785-sozdanie-temy-dlya-grav

Создание своего шаблона “с нуля”

Для создания своей темы предлагаю для начала ознакомится с мануалом https://cmscafe.ru/docs/grav/themes/785-sozdanie-temy-dlya-grav

После создания темы по данному примеру в админке в разделе Themes: Где мы уже сможем активировать нашу тему

Примеры

Для начала нужно создать шаблоны страниц(именно те файлы, которые мы например defult.html.twig), которые в свою очередь должны хранится по адресу user/themes/test1/templates/

И имеют следующие содержание: `\ {% extends ‘partials/base.html.twig’ %}

{% block content %} {{ page.content }}

{% endblock %} `\

На примере видно, что командой {% extends 'partials/base.html.twig' %} мы “присвоим этому шаблону контент из файла” partials/base.html.twig

А далее идет блок:{% block content %} {{ page.content }} {% endblock %} – начало блока контента, контент страницы и конец блока контента. {{ page.content }} – это как раз тот контент, который вы будете добавлять в страницы, например через админку.

Подключение других Twig-ов

Создаем папки, сохраняю стандартную структуру: user\themes\название вашей темы\templates\partials\

Создаем там файлы header.html.twig footer.html.twig а так же основной шаблон страницы base.html.twig

Базовый шаблон base.html.twig:

Уже в файлах header.html.twig и подобных – мы можем добавлять простой HTML код – в данном случае код Хидера:

<header> <div> <nav> <ul> <li> <button type="button" data-track-override="Mobile nav toggle button"> <i aria-hidden="true"></i> </button> </li> </ul> </nav> </div> <div> <div> <a href="/" title="Go to the UK Essays homepage"> URL<span><? echo $_SERVER['SERVER_NAME']?></span> <span>Слоган сайта</span> </a> <div> <p> <span><i aria-hidden="true"></i> 0115 966 7955</span> </p> </div> </div> </div> <nav> <div> <ul> <li><a href="/">HOME</a></li> <li><a href="/blog">Blog</a></li> <li><a href="/blog/item">About US</a></li> <li><a href="/blog/item2">Plagiarism Free</a></li> <li><a href="/blog/item3">Privacy Policy</a></li> <li><a href="contact/index.htm">Revision Policy</a></li> </ul> <ul> <li><a href="order/-product=1">Order Now</a></li> </ul> </div> </nav> <div> <nav> <ul> <li data-nav="paid-services"> <ul> <li data-target="essay-writing"><a href="services/index.htm">Essay Writing</a></li> <li data-target="dissertation-writing"><a href="services/index.htm">Dissertation Writing</a></li> <li data-target="report-writing"><a href="services/index.htm">Report Writing</a></li> <li data-target="other-services"><a href="services/index.htm">Other Services</a></li> <li data-target="examples"><a href="services/example-essays/index.htm">Examples of Our Work</a></li> <li><a href="marking/premium-service.php">Marking Service</a></li> <li><a href="services/index.htm">View All Services</a></li> </ul> <ul> <li data-nav-content="essay-writing"> <ul> <li><h4>Essay Services</h4></li> <li><a href="essay-writing-service.php">Essay Writing Service</a></li> <li><a href="essay-writing-service.php">Assignment Writing Service</a></li> <li><a href="essay-writing-service.php">Coursework Writing Service</a></li> <li><a href="essay-writing-service.php">Essay Outline/Plan Service</a></li> </ul> </li> <li data-nav-content="dissertation-writing"> <ul> <li><h4>Dissertation Services</h4></li> <li><a href="services/dissertation-writing-services.php">Dissertation Writing Service</a></li> <li><a href="services/proposal.php">Dissertation Proposal Service</a></li> <li><a href="services/topic-with-titles.php">Topics with Titles Service</a></li> <li><a href="services/literature-review.php">Literature Review Service</a></li> </ul> </li> <li data-nav-content="report-writing"> <ul> <li><h4>Report Services</h4></li> <li><a href="essay-writing-service.php">Report Writing Service</a></li> <li><a href="services/reflective-practice.php">Reflective Practice Service</a></li> </ul> </li> <li data-nav-content="other-services"> <ul> <li><h4>Other Services</h4></li> <li><a href="services/exam-revision.php">Exam Revision Service</a></li> <li><a href="services/powerpoint-presentation-service.php">PowerPoint Service</a></li> <li><a href="marking/premium-service.php">Marking Service</a></li> </ul> </li> <li data-nav-content="examples"> <ul> <li><h4>Examples</h4></li> <li><a href="services/example-essays/index.htm">Examples of Our Essays</a></li> <li><a href="services/sample-coursework.php">Sample Coursework</a></li> <li><a href="services/sample-dissertation.php">Sample Dissertation</a></li> <li><a href="services/sample-proposal.php">Sample Dissertation Proposal</a></li> </ul> </li> </ul> <p>Get the grade or your money back &bullet; Plagiarism-free &bullet; Delivered on time</p> </li> <li data-nav="free-resources"> <ul> <li data-target="essays"><a href="essays/index.htm">Essays</a></li> <li data-target="dissertations"><a href="dissertation/index.htm">Dissertations</a></li> <li data-target="referencing"><a href="referencing/index.htm">Referencing</a></li> <li data-target="help-guides"><a href="resources/help-guides/index.htm">Help Guides</a></li> <li><a href="plagiarism-scanner/index.htm">Plagiarism Checker</a></li> <li><a href="resources/exam-revision/index.htm">Exam Revision Guides</a></li> </ul> <ul> <li data-nav-content="referencing"> <ul> <li><h4><a href="referencing/index.htm">Referencing Tools</a></h4></li> <li><a href="referencing/apa/generator/index.htm">APA Reference Generator</a></li> <li><a href="referencing/harvard/generator/index.htm">Harvard Reference Generator</a></li> <li><a href="../www.lawteacher.net/oscola-referencing/" target="_blank">OSCOLA Reference Generator <i></i></a></li> <li><a href="referencing/vancouver/generator/index.htm">Vancouver Reference Generator</a></li> </ul> <ul> <li><h4>Referencing Guides</h4></li> <li><a href="referencing/apa/index.htm">APA Referencing Guide</a></li> <li><a href="referencing/harvard/index.htm">Harvard Referencing Guide</a></li> <li><a href="referencing/oscola/index.htm">OSCOLA Referencing Guide</a></li> <li><a href="referencing/vancouver/index.htm">Vancouver Referencing Guide</a></li> <li><a href="referencing/index.htm">More Referencing Guides</a></li> </ul> </li> <li data-nav-content="essays"> <ul> <li><h4>Full Examples</h4></li> <li><a href="essays/index.htm">Essays (Written by Students)</a></li> <li><a href="services/example-essays/index.htm">Example Essays (Written by Professionals)</a></li> <li><a href="coursework/index.htm">Example Coursework (Written by Students)</a></li> <li><a href="assignments/index.htm">Example Assignments (Written by Students)</a></li> </ul> </li> <li data-nav-content="dissertations"> <ul> <li><h4>Full Examples</h4></li> <li><a href="dissertation/examples/index.htm">Dissertation Examples (Written by Students)</a></li> <li><a href="services/samples/undergraduate-2-1-business-dissertation.php">Sample Dissertation (Professionally Written)</a></li> </ul> <ul> <li><h4>Dissertation Sections</h4></li> <li><a href="dissertation/titles/index.htm">Dissertation Titles</a></li> <li><a href="dissertation/topics/index.htm">Dissertation Topics</a></li> <li><a href="dissertation/proposal/index.htm">Dissertation Proposals</a></li> <li><a href="dissertation/introduction/index.htm">Introductions</a></li> <li><a href="dissertation/methodology/index.htm">Methodologies</a></li> <li><a href="dissertation/literature-review/index.htm">Literature Reviews</a></li> </ul> </li> <li data-nav-content="help-guides"> <ul> <li><h4>Student Help Guides</h4></li> <li><a href="resources/help-guides/undergraduate/index.htm">Undergraduate Help Guides</a></li> <li><a href="resources/help-guides/masters/index.htm">Masters Help Guides</a></li> <li><a href="resources/help-guides/mba/index.htm">MBA Help Guides</a></li> <li><a href="resources/help-guides/phd/index.htm">PhD Help Guides</a></li> <li><a href="how-to-write-essay.php">Guide to Writing an Essay</a></li> </ul> </li> </ul> <p>Get the grade or your money back &bullet; Plagiarism-free &bullet; Delivered on time</p> </li> <li data-nav="about"> <ul> <li data-target="about"><a href="contact/about.php">About</a></li> <li data-target="contact"><a href="contact/index.htm">Contact</a></li> </ul> <ul> <li data-nav-content="about"> <ul> <li><h4>About</h4></li> <li><a href="contact/about.php">About UK Essays</a></li> <li><a href="help-center/index.htm">Help Centre - FAQs</a></li> <li><a href="contact/meet.php">Meet the Team</a></li> <li><a href="quality/index.htm">Our Quality Procedures</a></li> <li><a href="contact/press.php">Press Coverage</a></li> <li><a href="contact/review-testimonials.php">Customer Reviews</a></li> <li><a href="contact/freelance-writing-jobs.php">Writing Jobs</a></li> </ul> </li> <li data-nav-content="contact"> <ul> <li><h4>Contact</h4></li> <li><a href="contact/index.htm">Contact UK Essays</a></li> <li><a href="contact/press-center.php">Press Centre &amp; Enquiries</a></li> <li><a href="contact/come-and-meet-us.php">Visit Our Offices</a></li> </ul> </li> </ul> <p>Trusted by Students Since 2003</p> </li> </ul> </nav> </div><nav> <div> <a href="myaccount/index.htm">Sign in</a> <a href="order/-product=1">Order Now</a> </div> <ul> <li data-target="services"> Writing Services <ul data-element="services" hidden> <li><a href="essay-writing-service.php">Essay Writing Service</a></li> <li><a href="essay-writing-service.php">Assignment Writing Service</a></li> <li><a href="services/dissertation-writing-services.php">Dissertation Writing Service</a></li> <li><a href="marking/premium-service.php">Marking Service</a></li> <li><a href="services/index.htm">All Services</a></li> </ul> </li> <li data-target="resources"> Free Resources <ul data-element="resources" hidden> <li><a href="essays/index.htm">Essays</a></li> <li><a href="dissertation/examples/index.htm">Dissertation Examples</a></li> <li><a href="referencing/apa/generator/index.htm">APA Reference Generator</a></li> <li><a href="referencing/harvard/generator/index.htm">Harvard Reference Generator</a></li> <li><a href="resources/index.htm">All Free Resources</a></li> </ul> </li> <li data-target="about"> About Us <ul data-element="about" hidden> <li><a href="contact/index.htm">Contact Us</a></li> <li><a href="contact/about.php">About UK Essays</a></li> <li><a href="guarantees.php">Guarantees</a></li> <li><a href="contact/review-testimonials.php">Customer Reviews</a></li> <li><a href="contact/fair-use-policy.php">Fair Use Policy</a></li> <li><a href="help-center/index.htm">FAQs</a></li> </ul> </li> <li><a href="quote.php">Prices</a></li> <li><a href="tel:00441159667955">Call us</a></li> </ul> </nav> </header>

Примерно по такому же принципу подготовлены файлы footer.html.twig Подключение header.html.twig либо других twig-ов идет по такому примеру: В файле, например base.html.twig прописываем команду {% include 'partials/header.html.twig' %} – где адрес и название файла(partials/header.html.twig) может быть любым.

Работа с twig-ами достаточно сложная. Есть документация по их работе на GRAV – https://learn.getgrav.org/themes/twig-primer

А так же, полная официальная документация https://twig.symfony.com/doc/2.x/

Русская документация(не официальный сайт) – http://x-twig.ru

Синтаксис twig:

{# Так записываются комментарии #} – т.е. комментарии записываются внутри скобок {# и #}

Так же, есть два вида разделителей: {% ... %} и {{ ... }}.

Первый из них используется для выполнения операторов, таких как for-циклы, а второй печатает результат выражения в шаблон. Более подробно синтаксис twig предлагаю посмотреть тут –http://x-twig.ru

Источник

Комментарии (1):

Войдите или зарегистрируйтесь чтобы оставить комментарий

pozi.pro

Базовое руководство Grav - CMScafe

Предполагая, что вы успешно установили Grav, мы можем продолжить и немного поиграться с Grav, чтобы вы почувствовали себя более комфортно.

Так как для Grav не требуется база данных, с ней очень легко работать, не заботясь о возможных проблемах между вашей установленной Grav и другим большим источником данных. Если что-то пойдёт не так, вы всегда можете восстановиться.

Основы контента

Сначала давайте разберёмся, где Grav хранит контент. Далее в документации мы разберём структуру папок, но на данный момент вы должны знать, что весь наш пользовательский контент храниться в папке user/pages/.

Сейчас у вас только одна папка в папке страницы, и она называется 01.home. Нумерация 01 папок является необязательной, но предоставляет несколько вещей, которые могут быть очень полезны.

Во-первых, она позволяет вам явно определять порядок ваших страниц. Например, 01 будет идти перед 02, а 00 перед 01.

Во-вторых, нумерация папки явно указывает Grav на то, что эта страница должны быть видна в меню. Здесь важно отметить, что эта часть с нумерацией вплоть до . и включая её, будет удалена из URL.

Конфигурация домашней страницы

В файле user/config/system.yaml есть опция, которая устанавливает расположение вашей домашней страницы, другими словами, куда указывает Grav, когда вы заходите в корень сайта http://yoursite.com.

Если вы изучите файл конфигурации вашей установки, то вы увидите, что он уже указывает на алиас /home. Мы пока что оставим это как есть.

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

Страницы в Grav создаются, используя синтаксис Markdown. Markdown – это синтаксис форматирования, который пишется на чистом тексте, а потом автоматически конвертируется в HTML. Он использует очень простые текстовые символы для обозначения ключевых HTML тегов, что позволяет писать тексты без знания HTML. Существуют и другие преимущества использования Markdown, такие как: меньше ошибок, валидная разметка, очень читабельный, легко изучить, переносимый и т.д.

Откройте домашнюю страницу в вашем текстовом редакторе. Файл, который контролирует домашнюю страницу, расположен в папке user/pages/01.home/ и называется default.md. Весь контент, который вы создаёте, будет создан в папке user/pages/ вашей Grav.

Когда вы будете редактировать страницу в вашем текстовом редакторе, контент будет выглядеть приблизительно так:

--- title: Home --- # Grav is Running! ## You have installed **Grav** successfully Congratulations! You have installed the **Base Grav Package** that provides a **simple page** and the default **antimatter** theme to get you started. >>>>> If you want a more **full-featured** base install, you should check out [**Skeleton** packages available in the downloads](http://getgrav.org/downloads). ### Find out all about Grav * Learn about **Grav** by checking out our dedicated [Learn Grav](http://learn.getgrav.org) site. * Download **plugins**, **themes**, as well as other Grav **skeleton** packages from the [Grav Downloads](http://getgrav.org/downloads) page. * Check out our [Grav Development Blog](http://getgrav.org/blog) to find out the latest goings on in the Grav-verse. ## Create a new page >>>> TODO: Walk through the process of creating a new page with title + content with simple markdown

Давайте немного разберёмся, и вы увидите, как легко писать на Markdown. Всё, что находится между символами и --- является заголовками страницы, которые написаны в очень простом YAML формате. Этот конфигурационный блок, который находится в .md файле, называется вступительная часть YAML (YAML Front Matter).

title: Home

Этот блок устанавливает HTML тег title страницы (текст, который вы видите во вкладке бразуера). Вы также можете получить к нему доступ в ваших темах через атрибут page.title. Существует несколько разных стандартных заголовков, которые позволяют вам конфигурировать страницу. Другим примером является menu: Something, который позволяет вам переопределять текст, которые используется для отображения названия страницы в меню. По умолчанию Grav будет использовать title для значения меню.

# Grav is Running! ## You have installed **Grav** successfully

Синтаксис # или хеш в makrdown обозначает заголовок. Одиночный # с пробелом и текстом будет сконвертирован в заголовок <h2> в HTML. ## или двойной хеш, будет сконвертирован в тег <h3>. По аналогии мы можем дойти до <h6>, который обозначается как шесть хешей.

Congratulations! You have installed the **Base Grav Package** that provides a **simple page** and the default **antimatter** theme to get you started.

Это простой параграф, который будет обёрнут в обычный тег <p> при конвертации. Маркеры ** означают жирный текст или <b> в HTML. Наклонных текст обозначается маркерами _.

>>>>> If you want a more **full-featured** base install, you should check out [**Skeleton** packages available in the downloads](http://getgrav.org/downloads).

Это специальная возможность, которая предоставляется дефолтной темой Grav. Обычно в markdown символ > означает <blockquote> в HTML. Но мы переопределили этот символ, поэтому с тремя уровнями и выше он предоставляет предупреждения. Например, 5 стрелочек или >>>>> выведут синий блок предупреждения. Внутри синего предупреждения также выведен текст, который обёрнут в квадратные скобки или [ и ] маркеры, за которыми следует URL в круглых скобках ( и ). Это синтаксис markdown для создания ссылки в тексте.

* Learn about **Grav** by checking out our dedicated [Learn Grav](http://learn.getgrav.org) site. * Download **plugins**, **themes**, as well as other Grav **skeleton** packages from the [Grav Downloads](http://getgrav.org/downloads) page. * Check out our [Grav Development Blog](http://getgrav.org/blog) to find out the latest goings on in the Grav-verse.

Создания ненумерованных списков в markdown ну очень простое. Просто используйте *, -, или +, и пробел для обозначения текста, который является частью списка. Для нумерованного списка просто используйте номер и промежуток перед текстом.

Убедитесь в том, что сохраняете .md файлы в формате UTF8.

Добавление новой страницы

Создание новой страницы - это плёвое дело в Grav. Просто следуйте этим шагам:

  1. Перейдите в папку ваших страниц user/pages/ и создайте новую папку. В этом примере мы будем использовать явный порядок и назовём папку как 02.mypage.
  2. Запустите ваш текстовый редактор, создайте новый файл, и вставьте туда следующий код:
--- title: My New Page --- # My New Page! This is the body of **my new page** and I can easily use _Markdown_ syntax here.
  1. Сохраните этот файл в папке user/pages/02.mypage/ как default.md. Это укажет Grav, что страницу нужно отобразить, используя шаблон default.
  2. Вот и всё! Перегрузите браузер и вы увидите вашу новую страницу в меню.

Страница автоматически покажется в меню после пункта меню "Home". Если вы желаете изменить название, которое отображается в меню, просто добавьте menu: My Page во вступительную часть YAML (между символами ---).

Поздравляем, вы успешно создали новую страницу в Grav.

Если у вас появились проблемы с доступом к новой странице, то возможно у вас отсутствует файл .htaccess (только для веб-сервера Apache) или вам нужно отредактировать директиву RewriteBase в файле .htaccess.

cmscafe.ru


Prostoy-Site | Все права защищены © 2018 | Карта сайта