Модуль:Wikibase/doc: различия между версиями
Karaby (обсуждение | вклад) Новая страница: «-- Модуль для функционала Викиданных local M = {}; local function tabletostr( t, fmt, s, o, c ) -- не для использования на страницах if type( t ) == "table" then local f = {}; for k, v in pairs( t ) do table.insert( f, string.format( fmt or '%s = %s', k, tabletostr( v, fmt, s, o, c ) ) ) end; table.sort( f ); return ( o...» |
Karaby (обсуждение | вклад) мНет описания правки |
||
| Строка 1: | Строка 1: | ||
Этот модуль содержит некоторые вспомогательные функции для работы с [[ВП:Викиданные|Викиданными]]. | |||
== Вызываемые функции == | |||
=== id === | |||
Возвращает элемент текущей страницы на Викиданных (Qnnn). Если вызван с параметром Pnnn, достаёт id значения данного свойства, если оно имеет тип «элемент», иначе — его строковое значение (можно указать специальный формат его вывода третьим параметром, по умолчанию это %s). Если значений несколько, параметром <code>n</code> можно указать номер нужного; если этого параметра нет, они будут выведены через разделитель (по умолчанию это «;», можно переопределить вторым параметром). | |||
=== label === | |||
Комментарий к элементу Викиданных, id которого передан первым параметром. Если такого нет, возвращает пустую строку, а если и быть не может (не соотв. формату Qnnn) — возникает ошибка. | |||
=== iwiki === | |||
Интервики для языка, указанного кодом (например, <code>en</code>), без квадратных скобок и префикса. Если вызвана без параметров, все интервики выводятся в виде маркированного списка ссылок. | |||
=== page === | |||
Для заданного элемента Викиданных возвращает название статьи русской Википедии, которая в нём прописана. | |||
=== wdprops === | |||
Автоматически формирует из всех свойств Викиданных для определённой страницы человеко-читаемую таблицу. Используется, например, следующим образом: | |||
<pre> | |||
{| class=wikitable | |||
{{#invoke:wikibase|wdprops}} | |||
|} | |||
</pre> | |||
В левом столбце отображаются русские метки свойств, в правом — ссылки на статьи русской Википедии, соответствующие их значению, или само это значение (для изображений с Викисклада — название файла). Использовать в статьях рекомендуется '''только в предпросмотре''', пользуйтесь вместо него [[ВП:Шаблоны-карточки|шаблонами-карточками]]. | |||
=== struc === | |||
Отладочная функция, возвращает структуру, передаваемую в Lua с Викиданных, в текстовом виде. Нумерованные параметры могут содержать путь до конкретной части этой структуры (например, чтобы посмотреть, что собой представляет <code>mw.wikibase.getEntity().claims.P107[1].references[1]</code>, пишем <code><nowiki>{{#invoke:wikibase|struc|claims|P107|1|references|1}}</nowiki></code>). Параметры <code>f</code> и <code>s</code> задают формат вывода объекта (по умолчанию <code>%s = %s</code>) и разделитель (по умолчанию «;»). Если такого объекта нет, возникает ошибка; попробуйте вызвать функцию без параметров и уточнить структуру. Посмотреть структуру можно в [[d:Special:EntityData/Q42.json|Special:EntityData]] или в [https://www.wikidata.org/w/api.php?action=wbgetentities&ids=Q42 Wikidata API]. | |||
== См. также == | |||
* [[:mw:Extension:WikibaseClient/Lua]] | |||
<includeonly>[[Категория:Модули:Викиданные]]</includeonly> | |||
<noinclude> | |||
[[Категория:Модули:Документация]]</noinclude> | |||
Версия от 15:30, 27 июля 2025
Этот модуль содержит некоторые вспомогательные функции для работы с Викиданными.
Вызываемые функции
id
Возвращает элемент текущей страницы на Викиданных (Qnnn). Если вызван с параметром Pnnn, достаёт id значения данного свойства, если оно имеет тип «элемент», иначе — его строковое значение (можно указать специальный формат его вывода третьим параметром, по умолчанию это %s). Если значений несколько, параметром n можно указать номер нужного; если этого параметра нет, они будут выведены через разделитель (по умолчанию это «;», можно переопределить вторым параметром).
label
Комментарий к элементу Викиданных, id которого передан первым параметром. Если такого нет, возвращает пустую строку, а если и быть не может (не соотв. формату Qnnn) — возникает ошибка.
iwiki
Интервики для языка, указанного кодом (например, en), без квадратных скобок и префикса. Если вызвана без параметров, все интервики выводятся в виде маркированного списка ссылок.
page
Для заданного элемента Викиданных возвращает название статьи русской Википедии, которая в нём прописана.
wdprops
Автоматически формирует из всех свойств Викиданных для определённой страницы человеко-читаемую таблицу. Используется, например, следующим образом:
{| class=wikitable
{{#invoke:wikibase|wdprops}}
|}
В левом столбце отображаются русские метки свойств, в правом — ссылки на статьи русской Википедии, соответствующие их значению, или само это значение (для изображений с Викисклада — название файла). Использовать в статьях рекомендуется только в предпросмотре, пользуйтесь вместо него шаблонами-карточками.
struc
Отладочная функция, возвращает структуру, передаваемую в Lua с Викиданных, в текстовом виде. Нумерованные параметры могут содержать путь до конкретной части этой структуры (например, чтобы посмотреть, что собой представляет mw.wikibase.getEntity().claims.P107[1].references[1], пишем {{#invoke:wikibase|struc|claims|P107|1|references|1}}). Параметры f и s задают формат вывода объекта (по умолчанию %s = %s) и разделитель (по умолчанию «;»). Если такого объекта нет, возникает ошибка; попробуйте вызвать функцию без параметров и уточнить структуру. Посмотреть структуру можно в Special:EntityData или в Wikidata API.