Модуль:Wikidata/doc
Перейти к навигации
Перейти к поиску
Это страница документации Модуль:Wikidata.
Для документации этого модуля может быть создана страница Модуль:Wikidata/doc/doc
Ошибка скрипта: Ошибка Lua на строке 1: unexpected symbol near '<'.
<includeonly>
{{СИШ}}
{{Используйте песочницу}}
</includeonly>
Используется в {{tl|Wikidata}}.<includeonly>[[Категория:Википедия:Модули]]</includeonly>
Функции данного модуля не предназначены для прямого вызова из шаблонов карточек или других модулей, не являющихся функциями расширения данного. Для вызова из шаблонов карточек используйте шаблон {{tl|wikidata}} или один из специализированных шаблонов для свойств. Для вызова функций Викиданных предназначенных для отображения чаще всего достаточно вызова <tt>frame:expandTemplate{}</tt> с вызовом шаблона, ответственного за отрисовку свойства. С другой стороны, вызов определённых функций модуля (в основном это касается <tt>getEntityObject()</tt>) может в будущем стать предпочтительным (например, когда появится возможность вызова getEntityObject для произвольного элемента с целью кэширования и вложенных вызовов). Данный Lua-функционал в любом случае стоит рассматривать как unstable с точки зрения сохранения совместимости на уровне кода (вместе с соответствующими функциями API для Wikibase Client).
Далее описывается внутренняя документация. Названия функций и параметров могут изменяться. При их изменении автор изменений обязан обновить шаблон {{tl|wikidata}} и специализированные шаблоны свойств. Изменения в других местах, если кто-то всё-таки вызывает функции модуля напрямую, остаются на совести автора «костыля». Итак, при вызове шаблона {{tl|wikidata}} или специализированного шаблона свойства управление отдаётся на функцию formatStatements, которая принимает frame. Из frame достаются следующие опции, которые так или иначе передаются в остальные функции:
* <code>plain</code> — булевый переключатель (по умолчанию false). Если true, результат совпадает с обычным вызовом <tt><nowiki>{{#property:pNNN}}</nowiki></tt> (по факту им и будет являться)
* <code>references</code> — булевый переключатель (по умолчанию true). Если true, после вывода значения параметра дополнительно выводит ссылки на источники, указанные в Викиданных. Для вывода используется [[Модуль:Sources]]. Обычно отключается для тех свойств, которые являются «самоописываемыми», например, внешними идентификаторами или ссылками (когда такая ссылка является доказательством своей актуальности), например, идентификаторы IMDb.
* <code>value</code> — значение, которое надо выводить ''вместо'' значений из Викиданных (используется, если что-то задано уже в карточке в виде т. н. локального свойства)
По умолчанию модуль поддерживает вывод следующих значений без дополнительных настроек:
* географические координаты (coordinates)
* количественные значения (quantity)
* моноязычный текст (monolingualtext)
* строки (string)
* даты (time)
Остальные типы данных требуют указания функции форматирования значения.
Поддерживаются два типа параметров-функций, которые дополнительно указывают, как надо форматировать значения:
* <code>claim-module</code>, <code>claim-function</code> — название модуля и функции модуля, которые отвечают за форматирование вывода значения ''свойства'' (statement, claim) с учётом квалификаторов, ссылок и прочего. Может, например, дополнительно к основному значению (main snak) вывести значения квалификаторов. Характерные примеры:
** вывод вышестоящих административных единиц и страны в {{tl|wikidata/p19}}, {{tl|wikidata/p20}} и [[Модуль:Wikidata/Places]]
** вывод авторов латинского названия и даты публикации в {{tl|wikidata/p225}} и [[Модуль:Wikidata/Biology]]
** вывод операционной системы и даты релиза в {{tl|wikidata/p348}} и [[Модуль:Wikidata/Software]]
** вывод количества и даты, на которую оно верно, в {{tl|wikidata/p1082}}, {{tl|wikidata/p1128}} и [[Модуль:Wikidata/number]]
*: Спецификация функции: <code>function p.…( context, statement )</code>
* <code>value-module</code>, <code>value-function</code> — название модуля и функции модуля, которые отвечают за форматирование ''значения'' (snak, snak data value), в зависимости от контекста, как значений свойства, так и значений квалификатора (если вызывается из <tt>claim-module/claim-function</tt>). Необходимо для изменения отображения свойства, например, генерации викиссылки вместо простой строки или даже вставки изображения вместо отображения имени файла изображения (так как ссылки на изображения хранятся как строки). Характерные примеры:
** вывод ссылки на [[Викисклад]] в {{tl|wikidata/p373}} и [[Модуль:Wikidata/media]]
** вывод ссылок на внешние сайты в {{tl|wikidata/link}} и [[Модуль:Wikidata/link]]
*: Спецификация функции: <code>function p.…( value, options )</code>
<noinclude>
[[Категория:Модули:Документация]]</noinclude>