Шаблон:Wikidata/doc: различия между версиями
Karaby (обсуждение | вклад) мНет описания правки |
Karaby (обсуждение | вклад) мНет описания правки Метка: ручная отмена |
||
(не показаны 2 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
{{docpage}} | |||
{{OnLua|Wikidata|formatStatements}} | {{OnLua|Wikidata|formatStatements}} | ||
Шаблон, упрощающий работу со свойствами из [[Википедия:Викиданные|Викиданных]] — их использование в шаблонах и статьях. | |||
<code><nowiki> | |||
{{Wikidata|1=Свойство|2=Локальное значение}} | |||
</nowiki></code> | |||
<code><nowiki> | |||
{{wikidata|p559|{{{конечные|{{{Конечные|}}}}}}|separator=<br>|conjunction=<br>}} | |||
</nowiki></code> | |||
<code><nowiki>{{ | |||
: 1: Идентификатор свойства на Викиданных в формате <code>pXXXX</code>, список доступных свойств: [//www.wikidata.org/w/index.php?title=Special:AllPages&namespace=120 Special:AllPages:Properties]. | : 1: Идентификатор свойства на Викиданных в формате <code>pXXXX</code>, список доступных свойств: [//www.wikidata.org/w/index.php?title=Special:AllPages&namespace=120 Special:AllPages:Properties]. | ||
: 2: Значение, перекрывающее информацию с Викиданных, обычно это параметр шаблона в форме <code><nowiki>{{{parameter|}}}</nowiki></code>. | : 2: Значение, перекрывающее информацию с Викиданных, обычно это параметр шаблона в форме <code><nowiki>{{{parameter|}}}</nowiki></code>. | ||
::: Если это значение пусто, то только тогда оно будет затребовано с Викиданных. | ::: Если это значение пусто, то только тогда оно будет затребовано с Викиданных. | ||
::: Рекомендуется не задавать в этом параметре значение, если оно равно значению на Викиданных. В таком случае, при его изменении в базе данных, оно может быть использовано сразу. | ::: Рекомендуется не задавать в этом параметре значение, если оно равно значению на Викиданных. В таком случае, при его изменении в базе данных, оно может быть использовано сразу. | ||
::: Если в параметре содержится значение <code>-</code>, то значение из Викиданных не будет показываться. | |||
::: | |||
== | Если параметры для форматирования одинаковы при всех вызовах шаблона для одного свойства, то лучше перенести иx в [[Модуль:Wikidata/config]] и вызывать шаблон без лишних параметров. | ||
Параметры форматирования передаются обрабатывающему соответствующее свойство модулю (например, [[Модуль:Wikidata/Places]]), поэтому, если он отличается от стандартного [[Модуль:Wikidata]], то некоторые из них могут не поддерживаться, хотя вполне иметь смысл. | |||
== TemplateData == | |||
'''Техническое замечание''': шаблон поддерживает параметры трёх видов: | |||
* общие параметры — например ''from'', с помощью которого можно сменить ID элемента, из которого нужно получить данные, работает для любого свойства; | |||
* параметры, работающие для свойств определённых [[d:Special:ListDatatypes|типов данных]] — например, ''caption'' предназначен для типа данных «медиафайл с Викисклада» (к которому относятся, например, свойства {{WD|P18}} и {{WD|P41}}) и задаёт описание изображения; | |||
* параметры, работающие для отдельных свойств — например, ''icon_size'' предназначен для свойства {{WD|P373}} и меняет размер иконки рядом с ссылкой на Викисклад; при этом свойство {{WD|P373}} имеет тип «строка», но для других свойств типа «строка» параметр ''icon_size'' работать не будет. | |||
В документации ниже перечислены только параметры первых двух видов. Это связано с тем, что шаблон потенциально принимает неограниченное число параметров за счёт задания кастомизированных обработчиков в параметрах ''…-module/…-function'', см. документацию [[Модуль:Wikidata]]. Для многих свойств такие обработчики уже включены по умолчанию в [[Модуль:Wikidata/config]] и добавляют шаблону новые параметры третьего вида — например, для {{WD|P373}} включен параметр ''icon_size'', который обрабатывается в [[Модуль:Wikidata/media]], а для {{WD|P345}} включен параметр ''prefix'', который обрабатывается в [[Модуль:Wikidata/link]]. Однако перечисление всех параметров третьего вида сделало бы документацию слишком громоздкой. | |||
---- | |||
<templatedata> | |||
{ | |||
"description": "Шаблон, упрощающий работу со свойствами Викиданных, их использование в шаблонах и статьях.", | |||
"params": { | |||
"1": { | |||
"label": "Свойство", | |||
"description": "Идентификатор свойства на Викиданных, может содержать селекторы (см. Модуль:WikidataSelectors)", | |||
"type": "string", | |||
"required": true, | |||
"example": "p1234" | |||
}, | |||
"2": { | |||
"label": "Локальное значение", | |||
"description": "Значение, перекрывающее информацию с Викиданных, обычно это параметр шаблона в форме {{{параметр|}}}. Если значение равно «-», то будет возвращена пустая строка", | |||
"type": "string" | |||
}, | |||
"plain": { | |||
"label": "Простое значение", | |||
"description": "Если не 0, не пустая строка и не false, то значение возвращается в виде простой строки со значением без вики-форматирования", | |||
"type": "boolean", | |||
"default": "false" | |||
}, | |||
"before": { | |||
"label": "Префикс", | |||
"description": "Префикс перед первым элементом списка, отображается только если список непуст", | |||
"example": "<ul><li>", | |||
"type": "string" | |||
}, | |||
"separator": { | |||
"label": "Разделитель", | |||
"description": "Для создания текста со списком оформленных заявлений из таблицы", | |||
"example": ",<br>", | |||
"type": "string" | |||
}, | |||
"conjunction": { | |||
"label": "Последний разделитель", | |||
"description": "Разделитель для последнего элемента списка", | |||
"type": "string", | |||
"example": "или", | |||
"default": "и" | |||
}, | |||
"after": { | |||
"label": "Постфикс", | |||
"description": "Постфикс после последнего элемента списка, отображается только если список непуст", | |||
"example": "</li></ul>", | |||
"type": "string" | |||
}, | |||
"monolingualLangTemplate": { | |||
"label": "Шаблон моноязычного текста ", | |||
"description": "(для свойств типа «моноязычный текст») шаблон, в который оборачивается моноязычный текст", | |||
"example": "lang или ref", | |||
"type": "line" | |||
}, | |||
"category": { | |||
"label": "Свойство для категории", | |||
"description": "Свойство, из которого брать автоматически добавляемую категорию", | |||
"example": "P910", | |||
"type": "line" | |||
}, | |||
"references": { | |||
"label": "Сноски с источниками", | |||
"description": "Отображать ли сноски с источниками", | |||
"example": "false", | |||
"type": "boolean", | |||
"default": "true" | |||
}, | |||
"format": { | |||
"label": "Формат", | |||
"description": "(для свойств типа «элемент Викиданных») TODO: Описать смысл" | |||
}, | |||
"text": { | |||
"label": "Текст", | |||
"example": "ссылка", | |||
"description": "(для свойств типа «элемент Викиданных» и «URL») Замещающий текст, отображаемый вместо элемента Викиданных (ссылка на сам элемент при этом сохраняется)", | |||
"type": "string" | |||
}, | |||
"length": { | |||
"label": "Максимальная длина", | |||
"description": "(для свойств типа «URL») Максимальная показываемая длина URL'а", | |||
"example": "10", | |||
"type": "number", | |||
"default": "max(18, 25 - длина языковых ссылок)" | |||
}, | |||
"size": { | |||
"label": "Размер медиафайла", | |||
"example": "250x350px", | |||
"type": "line", | |||
"description": "(для свойств типа «медиафайл с Викисклада») Ширина и высота изображения или видео" | |||
}, | |||
"caption": { | |||
"label": "Подпись", | |||
"type": "line", | |||
"description": "(для свойств типа «медиафайл с Викисклада») Описание изображения", | |||
"example": "Фотография на балу, 2005 год" | |||
}, | |||
"alt": { | |||
"label": "Alt-текст медиафайла", | |||
"type": "line", | |||
"description": "(для свойств типа «медиафайл с Викисклада») Замена изображения текстовым описанием для слабовидящих или людей с текстовым браузером", | |||
"example": "Мужчина в чёрном костюме и шляпе" | |||
}, | |||
"border": { | |||
"label": "Рамка изображения", | |||
"type": "boolean", | |||
"description": "(для свойств типа «медиафайл с Викисклада») Нужно ли показывать тонкую серую рамку вокруг изображения", | |||
"example": "true", | |||
"default": "false" | |||
}, | |||
"appendTimestamp": { | |||
"label": "Добавить момент времени", | |||
"description": "(для свойств типа «медиафайл с Викисклада») Добавить момент времени", | |||
"example": "true", | |||
"type": "boolean", | |||
"default": "false" | |||
}, | |||
"display": { | |||
"label": "Положение координат", | |||
"description": "(для свойств типа «глобальные координаты») Где отображаются координаты: вверху страницы и/или на месте вставки", | |||
"example": "inline,title", | |||
"type": "line", | |||
"default": "title", | |||
"autovalue": "inline,title" | |||
}, | |||
"nocoord": { | |||
"label": "Nocoord", | |||
"description": "(для свойств типа «глобальные координаты») Не выводить координаты", | |||
"example": "true", | |||
"type": "boolean", | |||
"default": "false" | |||
}, | |||
"type": { | |||
"label": "Тип карты", | |||
"description": "(для свойств типа «глобальные координаты») Тип карты, передаваемый шаблону coord", | |||
"example": "city", | |||
"type": "line" | |||
}, | |||
"subvalue": { | |||
"label": "Часть значения", | |||
"description": "(для свойств типа «глобальные координаты») Вернуть только часть значения и в сыром виде", | |||
"example": "latitude или longitude", | |||
"type": "line" | |||
}, | |||
"globe": { | |||
"label": "Небесное тело", | |||
"description": "(для свойств типа «глобальные координаты») Небесное тело, на котором находится объект", | |||
"example": "moon", | |||
"type": "line", | |||
"default": "earth" | |||
}, | |||
"somevalue": { | |||
"label": "Значение неизвестно", | |||
"description": "Текст, который выводится, если в Викиданных выбрано «значение неизвестно»", | |||
"default": "''неизвестно''", | |||
"type": "line" | |||
}, | |||
"novalue": { | |||
"label": "Значение отсутствует", | |||
"description": "Текст, который выводится, если в Викиданных выбрано «значение отсутствует»", | |||
"type": "line" | |||
}, | |||
"from": { | |||
"label": "Элемент Викиданных", | |||
"description": "ID элемента, из которого нужно получить данные. По умолчанию берутся из элемента, связанного с текущей страницей", | |||
"example": "Q5", | |||
"type": "line" | |||
}, | |||
"nocat": { | |||
"label": "Nocat", | |||
"description": "Отключить автоматическое добавление категории (работа зависит от поддержки конкретным подмодулем)", | |||
"example": "true", | |||
"type": "boolean", | |||
"default": "false" | |||
}, | |||
"limit": { | |||
"label": "Максимальное число значений", | |||
"description": "Наибольшее число значений, которое нужно выдать (- для бесконечности)", | |||
"example": "1", | |||
"default": "-", | |||
"type": "number" | |||
}, | |||
"qualifier": { | |||
"label": "Квалификатор", | |||
"description": "Квалификатор, который нужно добавить в скобках после основного значения", | |||
"example": "P155", | |||
"type": "line" | |||
}, | |||
"formatter": { | |||
"label": "Строка форматирования", | |||
"description": "(для свойств типа «внешний идентификатор») Строка для форматирования ссылки из идентификатора", | |||
"example": "https://example.com/id=$1", | |||
"type": "string" | |||
}, | |||
"title": { | |||
"label": "Заголовок ссылки", | |||
"description": "(для свойств типа «внешний идентификатор») Заголовок ссылки с внешним идентификатором (работает, только если задана строка форматирования)", | |||
"example": "Страница в базе такой-то", | |||
"type": "string" | |||
}, | |||
"categoryPrefix": { | |||
"label": "Префикс категории", | |||
"description": "(для свойств типа «момент времени») Префикс автоматически добавляемой категории", | |||
"example": "Родившиеся", | |||
"type": "string" | |||
}, | |||
"unit": { | |||
"label": "Единица измерения", | |||
"description": "(для свойств типа «количество») Единица измерения, добавляемая после величины", | |||
"example": "км", | |||
"type": "line" | |||
}, | |||
"siConversion": { | |||
"label": "Преобразовать в СИ", | |||
"description": "(для свойств типа «количество») Преобразовывать ли значение в Международную систему единиц", | |||
"example": "true", | |||
"default": "false", | |||
"type": "boolean" | |||
} | |||
}, | |||
"format": "inline", | |||
"paramOrder": [ | |||
"1", | |||
"2", | |||
"from", | |||
"plain", | |||
"before", | |||
"separator", | |||
"conjunction", | |||
"after", | |||
"somevalue", | |||
"novalue", | |||
"nocat", | |||
"limit", | |||
"qualifier", | |||
"category", | |||
"references", | |||
"format", | |||
"text", | |||
"length", | |||
"monolingualLangTemplate", | |||
"size", | |||
"caption", | |||
"alt", | |||
"border", | |||
"appendTimestamp", | |||
"display", | |||
"nocoord", | |||
"type", | |||
"subvalue", | |||
"globe", | |||
"formatter", | |||
"title", | |||
"categoryPrefix", | |||
"unit", | |||
"siConversion" | |||
] | |||
} | |||
</templatedata> | |||
== Другие шаблоны для вывода информации из Викиданных == | |||
{{Служебная:PrefixIndex/Шаблон:Wikidata/}} | {{Служебная:PrefixIndex/Шаблон:Wikidata/}} | ||
== См. также == | |||
* {{t|WD}} — для создания ссылок на элементы и свойства Викиданных | |||
<includeonly> | |||
[[Категория:Шаблоны:Викиданные]] | |||
</includeonly> |
Текущая версия от 08:10, 7 января 2022
[[1]] | Этот шаблон реализован на основе Lua с использованием функции formatStatements() из модуля Wikidata. |
Шаблон, упрощающий работу со свойствами из Викиданных — их использование в шаблонах и статьях.
{{Wikidata|1=Свойство|2=Локальное значение}}
{{wikidata|p559|{{{конечные|{{{Конечные|}}}}}}|separator=<br>|conjunction=<br>}}
- 1: Идентификатор свойства на Викиданных в формате
pXXXX
, список доступных свойств: Special:AllPages:Properties. - 2: Значение, перекрывающее информацию с Викиданных, обычно это параметр шаблона в форме
{{{parameter|}}}
.- Если это значение пусто, то только тогда оно будет затребовано с Викиданных.
- Рекомендуется не задавать в этом параметре значение, если оно равно значению на Викиданных. В таком случае, при его изменении в базе данных, оно может быть использовано сразу.
- Если в параметре содержится значение
-
, то значение из Викиданных не будет показываться.
Если параметры для форматирования одинаковы при всех вызовах шаблона для одного свойства, то лучше перенести иx в Модуль:Wikidata/config и вызывать шаблон без лишних параметров.
Параметры форматирования передаются обрабатывающему соответствующее свойство модулю (например, Модуль:Wikidata/Places), поэтому, если он отличается от стандартного Модуль:Wikidata, то некоторые из них могут не поддерживаться, хотя вполне иметь смысл.
TemplateData
Техническое замечание: шаблон поддерживает параметры трёх видов:
- общие параметры — например from, с помощью которого можно сменить ID элемента, из которого нужно получить данные, работает для любого свойства;
- параметры, работающие для свойств определённых типов данных — например, caption предназначен для типа данных «медиафайл с Викисклада» (к которому относятся, например, свойства Ошибка скрипта: Модуля «WD» не существует. и Ошибка скрипта: Модуля «WD» не существует.) и задаёт описание изображения;
- параметры, работающие для отдельных свойств — например, icon_size предназначен для свойства Ошибка скрипта: Модуля «WD» не существует. и меняет размер иконки рядом с ссылкой на Викисклад; при этом свойство Ошибка скрипта: Модуля «WD» не существует. имеет тип «строка», но для других свойств типа «строка» параметр icon_size работать не будет.
В документации ниже перечислены только параметры первых двух видов. Это связано с тем, что шаблон потенциально принимает неограниченное число параметров за счёт задания кастомизированных обработчиков в параметрах …-module/…-function, см. документацию Модуль:Wikidata. Для многих свойств такие обработчики уже включены по умолчанию в Модуль:Wikidata/config и добавляют шаблону новые параметры третьего вида — например, для Ошибка скрипта: Модуля «WD» не существует. включен параметр icon_size, который обрабатывается в Модуль:Wikidata/media, а для Ошибка скрипта: Модуля «WD» не существует. включен параметр prefix, который обрабатывается в Модуль:Wikidata/link. Однако перечисление всех параметров третьего вида сделало бы документацию слишком громоздкой.
Шаблон, упрощающий работу со свойствами Викиданных, их использование в шаблонах и статьях.
Параметр | Описание | Тип | Статус | |
---|---|---|---|---|
Свойство | 1 | Идентификатор свойства на Викиданных, может содержать селекторы (см. Модуль:WikidataSelectors)
| Строковый (без форматирования) | обязательный |
Локальное значение | 2 | Значение, перекрывающее информацию с Викиданных, обычно это параметр шаблона в форме {{{параметр|}}}. Если значение равно «-», то будет возвращена пустая строка | Строковый (без форматирования) | необязательный |
Элемент Викиданных | from | ID элемента, из которого нужно получить данные. По умолчанию берутся из элемента, связанного с текущей страницей
| Однострочный | необязательный |
Простое значение | plain | Если не 0, не пустая строка и не false, то значение возвращается в виде простой строки со значением без вики-форматирования
| Логическое значение | необязательный |
Префикс | before | Префикс перед первым элементом списка, отображается только если список непуст
| Строковый (без форматирования) | необязательный |
Разделитель | separator | Для создания текста со списком оформленных заявлений из таблицы
| Строковый (без форматирования) | необязательный |
Последний разделитель | conjunction | Разделитель для последнего элемента списка
| Строковый (без форматирования) | необязательный |
Постфикс | after | Постфикс после последнего элемента списка, отображается только если список непуст
| Строковый (без форматирования) | необязательный |
Значение неизвестно | somevalue | Текст, который выводится, если в Викиданных выбрано «значение неизвестно»
| Однострочный | необязательный |
Значение отсутствует | novalue | Текст, который выводится, если в Викиданных выбрано «значение отсутствует» | Однострочный | необязательный |
Nocat | nocat | Отключить автоматическое добавление категории (работа зависит от поддержки конкретным подмодулем)
| Логическое значение | необязательный |
Максимальное число значений | limit | Наибольшее число значений, которое нужно выдать (- для бесконечности)
| Число | необязательный |
Квалификатор | qualifier | Квалификатор, который нужно добавить в скобках после основного значения
| Однострочный | необязательный |
Свойство для категории | category | Свойство, из которого брать автоматически добавляемую категорию
| Однострочный | необязательный |
Сноски с источниками | references | Отображать ли сноски с источниками
| Логическое значение | необязательный |
Формат | format | (для свойств типа «элемент Викиданных») TODO: Описать смысл | Неизвестно | необязательный |
Текст | text | (для свойств типа «элемент Викиданных» и «URL») Замещающий текст, отображаемый вместо элемента Викиданных (ссылка на сам элемент при этом сохраняется)
| Строковый (без форматирования) | необязательный |
Максимальная длина | length | (для свойств типа «URL») Максимальная показываемая длина URL'а
| Число | необязательный |
Шаблон моноязычного текста | monolingualLangTemplate | (для свойств типа «моноязычный текст») шаблон, в который оборачивается моноязычный текст
| Однострочный | необязательный |
Размер медиафайла | size | (для свойств типа «медиафайл с Викисклада») Ширина и высота изображения или видео
| Однострочный | необязательный |
Подпись | caption | (для свойств типа «медиафайл с Викисклада») Описание изображения
| Однострочный | необязательный |
Alt-текст медиафайла | alt | (для свойств типа «медиафайл с Викисклада») Замена изображения текстовым описанием для слабовидящих или людей с текстовым браузером
| Однострочный | необязательный |
Рамка изображения | border | (для свойств типа «медиафайл с Викисклада») Нужно ли показывать тонкую серую рамку вокруг изображения
| Логическое значение | необязательный |
Добавить момент времени | appendTimestamp | (для свойств типа «медиафайл с Викисклада») Добавить момент времени
| Логическое значение | необязательный |
Положение координат | display | (для свойств типа «глобальные координаты») Где отображаются координаты: вверху страницы и/или на месте вставки
| Однострочный | необязательный |
Nocoord | nocoord | (для свойств типа «глобальные координаты») Не выводить координаты
| Логическое значение | необязательный |
Тип карты | type | (для свойств типа «глобальные координаты») Тип карты, передаваемый шаблону coord
| Однострочный | необязательный |
Часть значения | subvalue | (для свойств типа «глобальные координаты») Вернуть только часть значения и в сыром виде
| Однострочный | необязательный |
Небесное тело | globe | (для свойств типа «глобальные координаты») Небесное тело, на котором находится объект
| Однострочный | необязательный |
Строка форматирования | formatter | (для свойств типа «внешний идентификатор») Строка для форматирования ссылки из идентификатора
| Строковый (без форматирования) | необязательный |
Заголовок ссылки | title | (для свойств типа «внешний идентификатор») Заголовок ссылки с внешним идентификатором (работает, только если задана строка форматирования)
| Строковый (без форматирования) | необязательный |
Префикс категории | categoryPrefix | (для свойств типа «момент времени») Префикс автоматически добавляемой категории
| Строковый (без форматирования) | необязательный |
Единица измерения | unit | (для свойств типа «количество») Единица измерения, добавляемая после величины
| Однострочный | необязательный |
Преобразовать в СИ | siConversion | (для свойств типа «количество») Преобразовывать ли значение в Международную систему единиц
| Логическое значение | необязательный |
Другие шаблоны для вывода информации из Викиданных
См. также
- {{WD}} — для создания ссылок на элементы и свойства Викиданных