Поля переменных данных
Поля переменных данных (далее - поля) представляют собой существенно более мощный и гибкий инструмент по сравнению с вычисляемыми словами, рассмотренными в документе Порядок формирования секции Содержание для файлов статьи. С помощью полей можно управлять текстовой идентификацией внутренних и внешних ссылок, вставлять в тело статьи ссылки на системные функции, управлять встраиванием расширений системы.
Порядок вставки полей
Поля могут размещаться в произвольном месте строки статьи. Признаком начала поля является комбинация символов {*. Концом поля является комбинация символов *}.
Все поля имеют следующую структуру:
{*характеристика_действия [текст]*}
Параметр текст необязателен, а для некоторых действий попросту не имеет смысла. Характеристика действия определяется как
<тип_действия><параметры_действия>
Типом действия может быть:
= - Вычисление выражения средствами вычислительной среды
! - Ссылка на публикацию сайта
$ - Внешняя произвольная ссылка
# - Ссылка на системное действие
& - Закладка в тексте
% - Ссылка на закладку
Параметры действия формируются в зависимости от типа действия.
Вычисление выражения (=)
После символа = должна без пробелов задаваться расчётная формула, текст поля не задаётся. В целом, здесь всё аналогично вычисляемым словам, начинающимся с символа =.
Разметка
!vp:0
Однажды в студёную зимнюю пору я вычислил корень и был он таков: {*=sqrt(4)*}. Тому результату весьма подивившись я взял логарифм {*=log(10)*} в назиданье врагам.
!vp:1
Вывод
Однажды в студёную зимнюю пору я вычислил корень и был он таков: 2. Тому результату весьма подивившись я взял логарифм 2.302585092994 в назиданье врагам.
Ссылки на публикацию сайта (!)
После символа ! должно быть указано имя файла публикации, на который должна указывать формируемая ссылка. Текстом ссылки будет текст, указанный в описании поля. Если текст не задан, то, аналогично вычисляемым словам, начинающимся с символа ! будет подставлено название публикации.
Разметка
!vp:0
Ссылка на {*!shurem/ap/stihi.k стихи*} пользователя с логином shurem.
!vp:1
Вывод
Ссылка на стихи пользователя с логином shurem.
Внешние произвольные ссылки ($)
После символа $ должна быть указана полная ссылка (href) на нужный Интернет-ресурс. Текстом ссылки будет текст, указанный в описании поля. Если текст не задан, то текстом ссылки будет её адрес.
Разметка
!vp:0
Ссылка на {*$https://stihi.ru/avtor/shurem стихи*} любимого автора на сайте {*$https://stihi.ru*}.
!vp:1
Вывод
Ссылка на стихи любимого автора на сайте https://stihi.ru.
Ссылки на системные действия (#)
Ссылки на системные действия предназначены для того, чтобы без лишней мороки автоматически формировать в статье ссылки на некоторые стандартные действия в зависимости от статуса пользователя. После символа # должна быть указан идентификатор действия, который система заменит на нужную ссылку в зависимости от статуса пользователя и указанного в поле текста или его значения, заданного для данного действия по умолчанию.
Идентификаторы стандартных действий:
gs - Ссылка на главную страницу сайта. Текст по умолчанию - Главная.
ks - Ссылка на корневой сборник (книгу) сайта. Текст по умолчанию - Сборники.
gm - Ссылка на страницу системных ссылок. Текст по умолчанию - Навигатор.
ss - Ссылка на страницу вывода списка всех опубликованных (размещённых в книгах) статей сайта. Текст по умолчанию - Статьи.
rp - Если пользователь не авторизован, то выводит ссылку на форму регистрации. В этом случае текст ссылки по умолчанию - Регистрация. Если пользователь авторизован, то выводит ссылку на страницу системных ссылок (gm). Текстом ссылки является логин пользователя.
vp - Если пользователь не авторизован, то выводит ссылку на форму авторизации (входа). В этом случае текст ссылки по умолчанию - Вход. Если пользователь авторизован, то выводит ссылку на выход из системы (аннулирование сессии работы под текущим логином). Текст по умолчанию Выход.
wp - Ссылка на выход из системы (аннулирование сессии работы под текущим логином). Текст по умолчанию Выход.
op - Ссылка на страницу оценок и статистики публикаций сайта. Текст по умолчанию - Статистика публикаций.
Разметка
!vp:0>''{*#gs*} {*#ks*} {*#gm*} {*#ss*} {*#rp*} {*#vp*} {*#wp*} {*#op*}'/<
!vp:1
Вывод
Часть идентификаторов интерпретируются только для авторизованных пользователей.
ma - Ссылка на собственную анкету данного пользователя. Текст по умолчанию - Моя анкета. Из режима просмотра анкеты можно обратиться к форме её правки.
mp - Ссылка на форму изменения собственного пароля. Текст по умолчанию - Изменить пароль.
mr - Ссылка на отчёт по результатам тестирования при установленном расширении Тесты. Текст по умолчанию - Мои результаты.
Эти идентификаторы будут обработаны и представлены в виде ссылок только в том случае, если пользователь авторизован. В противном случае аббревиатуры этих полей будут выведены красным цветом.
Разметка
!vp:0>''{*#ma*} {*#mp*} {*#mr*}'/<
!vp:1
Вывод
ma mp mr
Во избежание "красных" сообщений неавторизованным пользователям блоки текста с выводом их полей рекомендуется оформлять как условные.
Разметка
Текст до...? sp()>0
''{*#ma*} {*#mp*} {*#mr*}'/
?
Текст после...
Вывод
Текст до...
Текст после...
Часть идентификаторов интерпретируются только для пользователей со статусом Писатель и выше.
mf - Ссылка на интерфейс управления собственными файлами. Текст по умолчанию - Мои файлы.
zp - Ссылка на форму списка зарегистрированных пользователей. Текст по умолчанию - Зарегистрированные пользователи.
Разметка
''{*#mf*} {*#zp*}'/Вывод
mf zp
Эти поля в статьях также рекомендуется оформлять в виде условных блоков текста.
Закладки в тексте (&) и ссылки на закладки (%)
Поле закладки генерирует html-конструкцию вида:
<a name='имя_закладки'></a>Имя закладки - это строка текста после символа & до конца поля. Текст в определении поля игнорируется.
Ссылка на закладку генерирует html-конструкцию вида:
<a href='#имя_закладки'>текст</a>Разумеется, всё это можно сделать и с помощью явного задания соответствующих html-конструкций в тексте. Однако всё же рекомендуется использовать поля, поскольку в последующем планируется расширить функционал перекрёстных ссылок до уровня автоматизации составления таблиц перекрёстных ссылок, оглавлений статей, списков литературы и т.п. Эти механизмы будут привязаны именно к полям закладок в тексте и ссылок на них.
То же касается и расширения функционала полей ссылок на публикации, внешние ресурсы и системные действия. Его развитие также будет привязано к соответствующим типам полей.