Поля страниц в Albireo CMS
Все поля размещаются в служебной части страницы в формате поле: значение
, где каждое поле — это отдельная строка.
Имя поля может быть произвольным и обязательно заканчиваться на символ двоеточия и пробел :
. Например slug: about
— верно, а slug:about
— ошибка. Это позволяет использовать в ключах символ :
, например: meta[og:title]: Заголовок страницы
.
С помощью полей можно управлять выводом страницы. Поля также хранят данные, которые могут использовать другие страницы. Например поле title не только формирует заголовок браузера, но и используется для вывода заголовка на странице рубрик, меток и т.п.
В полях можно использовать обычный текст, HTML, исполняемый php-код, а также специальные замены. Albireo CMS в этом плане очень развитая система.
Если поле начинается с символа #
, то оно игнорируется системой. Используйте эту возможность, чтобы закомментировать ненужное поле.
Есть ряд полей, которые используются системой. С их помощью вы сможете настроить страницы под свою задачу.
Описание страницы
Поле title
используется для формирования тэга TITLE.
Поле description
используется для формирования meta description.
Поле announce
будет использовано на архивных страницах (главная, рубрики, метки и т.п.).
title: Заголовок страницы description: Описание страницы announce: Краткое описание
В полях можно использовать html-код. Если в поле нужно сделать перенос строки (\n
), то можно использовать //
announce: Разнообразный и богатый опыт начало <b>повседневной работы</b> по формированию позиции играет важную роль //в формировании дальнейших направлений развития.
Начальные и конечные пробелы поля автоматически удаляются, но если пробелы нужны, то используйте специальную замену [NBSP]
:
title: [NBSP]Заголовок страницы[NBSP]
Адреса страницы
Адрес страницы формируется на основе поля slug
. Если его нет, то будет использовано имя файла. Например файл hello.php
(где нет поля slug
) будет доступен по адресу ваш-сайт/hello. Можно разместить файл в подкаталоге, и он будет также учтён в адресе. Например если разместить файл в my/about/hello.php
, то он будет доступен по адресу ваш-сайт/my/about/hello. То есть подкаталоги (внутри pages
) повторяют структуру адреса страницы.
Если же страница должна быть доступна по адресу, независимо от своего расположения, то используется поле slug
. Примеры:
slug: hello slug: hello.html slug: my/about/hello
Поле slug
используется как есть, то есть система не проверяет реальность этого адреса, а только подключает этот файл, когда он набран в браузере. Именно поэтому вы можете использовать абсолютно любую структуру URL для своего сайта.
Если страница должна быть доступна сразу для нескольких адресов, то дополнительно нужно указать поле slug-pattern
, которое может содержать либо второй адрес, либо php-паттерн в формате функции preg_math()
. например:
# основной адрес ваш-сайт/hello slug: hello # страница будет доступна по адресам: ваш-сайт/hello, ваш-сайт/about или ваш-сайт/welcome slug-pattern: (about|welcome) # любой символ # ваш-сайт/hello/123 | ваш-сайт/hello/abc | ваш-сайт/hello/a_b-c2 slug-pattern: hello/(.*?) # только числа # ваш-сайт/hello/123 slug-pattern: hello/([0-9]+) # только буквы # ваш-сайт/hello/abc slug-pattern: hello/([a-zA-Z]+) # буквы и/или цифры # ваш-сайт/page/abc | ваш-сайт/hello/123 | ваш-сайт/hello/123abc slug-pattern: hello/([a-zA-Z0-9]+) # включить все «hello/*», за исключением «hello/about» и «hello/contact» slug-pattern: hello/(?!about)(?!contact)(.*)
Тип записи
В системе предопределены два типа записи:
type: blog type: system
Блоговый тип — это основной тип записи, который используется для того, чтобы иметь возможность вывести страницу на архивных страницах. Например на главной странице будут выведены только те записи у которых отмечен тип blog
. Если у записи нет этого типа, то она не будет отображаться на главной, в рубриках и т.п. С помощью поля type
вы можете группировать записи.
Тип system
введён для тех страниц, которые не должны использоваться как обычные страницы сайта. Например страница контактов должна не только не выводится в архивах, но и отключать некоторые другие возможности системы, например размещение комментариев.
Если страница не имеет поля type
, то она всё также доступна по прямой ссылке.
Дата
Дата публикации указывается в поле date
. Вы можете использовать любой формат даты, которые поддерживает функция strtotime.
date: 2024-02-11 date: 2024-06-11 12:56:32 date: 30-June 2024 19.20
Чтобы исключить неожиданности, лучше использовать стандартный вариант «ГГГГ-ММ-ДД ЧЧ:ММ»
Страница может содержать поле даты, где указывается её последнее изменение:
date-edit: 2024-09-10 14:32
Здесь формат даты точно такой же.
В некоторых случаях требуется задавать будущее время публикации. Делается это с помощью поля date-pub
.
date-pub: 2024-09-26 12:00
Система сравнит эту дату с текущим временем и если оно ещё не наступило, то поставит для этой страницы метку «черновик», тем самым исключив её из публикации на сайте.
Черновик
В процессе написания страницу можно перевести в режим черновика. Для этого служит поле draft
.
draft: +
Это поле — логическое и оно работает по принципу «включено/выключено». Если значение поля будут одним из: 0
, -
, false
, то оно будет считаться «выключено».
draft: - draft: 0 draft: false
Если поле будет равно 1
, true
, +
или любому другому тексту, то оно будет считаться включенным.
draft: + draft: 1 draft: true draft: вкл draft: abrakababra
Логические поле часто встречаются в Albireo CMS, но все они работают по единым правилам.
Комментирование
Управлять комментированием страницы можно с помощью поля comments
. Когда оно включено, то комментирование на странице разрешено:
comments: +
Если же на странице уже есть комментарии, то отключение comments
оставит их для вывода. Если же их нужно убрать, то используется поле comments-pub
. Когда оно выключено, то старые комментарии не будут публиковаться.
comments-pub: -
Статистика
Для подсчёта количества прочтений страницы используется поле stat
. Если оно включено, то система будет производить подсчёт:
stat: +
Вы можете указать стартовое число:
stat-start: 122
Управлять включением статистики лучше через конфигурацию сайта, поскольку если потребуется отключить статистику, то придётся править каждый файл.
Также учитывайте, что подсчёт статистики достаточно затратная операция для сервера, которая может сказаться на скорости загрузки страницы. Если при включении статистики скорость работы сильно падает, то лучше её отключить.
Сжатие html-кода страницы
Обычно рекомендуется сжимать итоговый html-код страницы для оптимизации его загрузки. Это значит, что вы можете в файле страницы использовать любое форматирование, которое делает ваш код читабельным. Система сама выполнит сжатие.
compress: +
Защита содержимого PRE и CODE
Если вы публикуете исходный код, то обычно его оборачивают в тэги PRE и/или CODE. По правилам HTML их содержимое следует оборачивать в html-сущности, что не очень удобно. Поэтому вы можете включить эту опцию по умолчанию:
protect-pre: +
Карта сайта
Albireo CMS «из коробки» предлагает формирование адреса sitemap.xml, который используется гуглом для анализа вашего сайта. Обратите внимание, что это динамический адрес, то есть система не создаёт файл sitemap.xml
.
Для того, чтобы страница попала в этот архив нужно использовать поле sitemap
. По умолчанию оно всегда включено, поэтому задача меняется: если нужно исключить страницу из архива, то нужно явно это указать:
sitemap: -
Точно также страница будет исключена из «карты» сайта ваш-сайт/sitemap. В sitemap попадают только те страницы, у которых отмечен блоговый тип type: blog
.
Если вам нужно дополнительное управление sitemap.xml, то можно использовать следующие поля:
sitemap-changefreq: weekly sitemap-priority: 0.5
Парсер текста
По умолчанию в основной конфигурации указан парсер текста TextSimple. Этот парсер близок по своему синтаксису к Markdown и TextLite. Эта настройка эквивалентна полю parser
:
parser: textsimple
Если парсер на странице не нужен, то можно его просто отключить:
parser: -
Это может понадобиться для тех страниц, где формируется сложный html-код.
Также система предлагает Parsedown, который очень близок к Markdown. Для его включения нужно указать:
parser: markdown
При использовании этого парсера проверяйте итоговый html-код, потому что он может некорректно наботать с существующей html-разметкой.
RSS сайта
Albireo CMS «из коробки» предлагает формирование адреса rss.xml, который хранит последние записи вашего сайта. Для чтения RSS-ленты используется специальные программы, например Mozila Thunberbird.
Обратите внимание, что это динамический адрес, то есть система не создаёт файл rss.xml
.
В RSS-ленту попадают только те записи, у которых отмечен type: blog
. Если нужно исключить запись из RSS, то это можно сделать так:
rss: -