Шаблон:Wikidata/doc: различия между версиями

Материал из Буквицы
Перейти к навигации Перейти к поиску
(Новая страница: «<noinclude>{{docpage}}</noinclude> {{OnLua|Wikidata|formatStatements}} <templatedata>{ "description": "Шаблон, упрощающий работу со сво…»)
 
мНет описания правки
Метка: ручная отмена
 
(не показаны 4 промежуточные версии этого же участника)
Строка 1: Строка 1:
<noinclude>{{docpage}}</noinclude>
{{docpage}}
{{OnLua|Wikidata|formatStatements}}
{{OnLua|Wikidata|formatStatements}}
<templatedata>{
 
"description": "Шаблон, упрощающий работу со свойствами Викиданных, их использование в шаблонах и статьях.",
Шаблон, упрощающий работу со свойствами из [[Википедия:Викиданные|Викиданных]] — их использование в шаблонах и статьях.
"params": {
 
  "1": {
<code><nowiki>
    "label": "Свойство",
{{Wikidata|1=Свойство|2=Локальное значение}}
    "description": "Свойство для получения",
</nowiki></code>
    "type": "string",
 
    "default": "",
<code><nowiki>
    "required": true
{{wikidata|p559|{{{конечные|{{{Конечные|}}}}}}|separator=<br>|conjunction=<br>}}
  },
</nowiki></code>
  "2": {
 
    "label": "Локальное значение",
    "description": "Значение для подавления значения с Викиданных",
    "type": "string",
    "default": "",
    "required": false
  }
}}</templatedata>
<code><nowiki>{{Wikidata|1=Свойство|2=Локальное значение}}</nowiki></code>:
: 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>, то значение из Викиданных не будет показываться.
: More parameters needed?
:* A parameter (or parameters) to check if data on Wikidata is the same as the override, or if data on Wikidata is missing, could be used for alerting maintenance (for instance by the use of hidden categories)
:::* Check data on Wikidata is the same as the override -> Category: unneeded Wikidata override parameter
:::* Check data on Wikidata is missing -> Category: missing Wikidata value
:::* Check Check data on Wikidata is different from the override -> Category: check Wikidata inconsistency
:* Qualifier / sources etc.-->


== Шаблоны для форматирования отдельных свойств и типов ==
Если параметры для форматирования одинаковы при всех вызовах шаблона для одного свойства, то лучше перенести и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


Шаблон, упрощающий работу со свойствами из Викиданных — их использование в шаблонах и статьях.

{{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)

Пример
p1234
Строковый (без форматирования)обязательный
Локальное значение2

Значение, перекрывающее информацию с Викиданных, обычно это параметр шаблона в форме {{{параметр|}}}. Если значение равно «-», то будет возвращена пустая строка

Строковый (без форматирования)необязательный
Элемент Викиданныхfrom

ID элемента, из которого нужно получить данные. По умолчанию берутся из элемента, связанного с текущей страницей

Пример
Q5
Однострочныйнеобязательный
Простое значениеplain

Если не 0, не пустая строка и не false, то значение возвращается в виде простой строки со значением без вики-форматирования

По умолчанию
false
Логическое значениенеобязательный
Префиксbefore

Префикс перед первым элементом списка, отображается только если список непуст

Пример
<ul><li>
Строковый (без форматирования)необязательный
Разделительseparator

Для создания текста со списком оформленных заявлений из таблицы

Пример
,<br>
Строковый (без форматирования)необязательный
Последний разделительconjunction

Разделитель для последнего элемента списка

По умолчанию
и
Пример
или
Строковый (без форматирования)необязательный
Постфиксafter

Постфикс после последнего элемента списка, отображается только если список непуст

Пример
</li></ul>
Строковый (без форматирования)необязательный
Значение неизвестноsomevalue

Текст, который выводится, если в Викиданных выбрано «значение неизвестно»

По умолчанию
''неизвестно''
Однострочныйнеобязательный
Значение отсутствуетnovalue

Текст, который выводится, если в Викиданных выбрано «значение отсутствует»

Однострочныйнеобязательный
Nocatnocat

Отключить автоматическое добавление категории (работа зависит от поддержки конкретным подмодулем)

По умолчанию
false
Пример
true
Логическое значениенеобязательный
Максимальное число значенийlimit

Наибольшее число значений, которое нужно выдать (- для бесконечности)

По умолчанию
-
Пример
1
Числонеобязательный
Квалификаторqualifier

Квалификатор, который нужно добавить в скобках после основного значения

Пример
P155
Однострочныйнеобязательный
Свойство для категорииcategory

Свойство, из которого брать автоматически добавляемую категорию

Пример
P910
Однострочныйнеобязательный
Сноски с источникамиreferences

Отображать ли сноски с источниками

По умолчанию
true
Пример
false
Логическое значениенеобязательный
Форматformat

(для свойств типа «элемент Викиданных») TODO: Описать смысл

Неизвестнонеобязательный
Текстtext

(для свойств типа «элемент Викиданных» и «URL») Замещающий текст, отображаемый вместо элемента Викиданных (ссылка на сам элемент при этом сохраняется)

Пример
ссылка
Строковый (без форматирования)необязательный
Максимальная длинаlength

(для свойств типа «URL») Максимальная показываемая длина URL'а

По умолчанию
max(18, 25 - длина языковых ссылок)
Пример
10
Числонеобязательный
Шаблон моноязычного текста monolingualLangTemplate

(для свойств типа «моноязычный текст») шаблон, в который оборачивается моноязычный текст

Пример
lang или ref
Однострочныйнеобязательный
Размер медиафайлаsize

(для свойств типа «медиафайл с Викисклада») Ширина и высота изображения или видео

Пример
250x350px
Однострочныйнеобязательный
Подписьcaption

(для свойств типа «медиафайл с Викисклада») Описание изображения

Пример
Фотография на балу, 2005 год
Однострочныйнеобязательный
Alt-текст медиафайлаalt

(для свойств типа «медиафайл с Викисклада») Замена изображения текстовым описанием для слабовидящих или людей с текстовым браузером

Пример
Мужчина в чёрном костюме и шляпе
Однострочныйнеобязательный
Рамка изображенияborder

(для свойств типа «медиафайл с Викисклада») Нужно ли показывать тонкую серую рамку вокруг изображения

По умолчанию
false
Пример
true
Логическое значениенеобязательный
Добавить момент времениappendTimestamp

(для свойств типа «медиафайл с Викисклада») Добавить момент времени

По умолчанию
false
Пример
true
Логическое значениенеобязательный
Положение координатdisplay

(для свойств типа «глобальные координаты») Где отображаются координаты: вверху страницы и/или на месте вставки

По умолчанию
title
Пример
inline,title
Автозначение
inline,title
Однострочныйнеобязательный
Nocoordnocoord

(для свойств типа «глобальные координаты») Не выводить координаты

По умолчанию
false
Пример
true
Логическое значениенеобязательный
Тип картыtype

(для свойств типа «глобальные координаты») Тип карты, передаваемый шаблону coord

Пример
city
Однострочныйнеобязательный
Часть значенияsubvalue

(для свойств типа «глобальные координаты») Вернуть только часть значения и в сыром виде

Пример
latitude или longitude
Однострочныйнеобязательный
Небесное телоglobe

(для свойств типа «глобальные координаты») Небесное тело, на котором находится объект

По умолчанию
earth
Пример
moon
Однострочныйнеобязательный
Строка форматированияformatter

(для свойств типа «внешний идентификатор») Строка для форматирования ссылки из идентификатора

Пример
https://example.com/id=$1
Строковый (без форматирования)необязательный
Заголовок ссылкиtitle

(для свойств типа «внешний идентификатор») Заголовок ссылки с внешним идентификатором (работает, только если задана строка форматирования)

Пример
Страница в базе такой-то
Строковый (без форматирования)необязательный
Префикс категорииcategoryPrefix

(для свойств типа «момент времени») Префикс автоматически добавляемой категории

Пример
Родившиеся
Строковый (без форматирования)необязательный
Единица измеренияunit

(для свойств типа «количество») Единица измерения, добавляемая после величины

Пример
км
Однострочныйнеобязательный
Преобразовать в СИsiConversion

(для свойств типа «количество») Преобразовывать ли значение в Международную систему единиц

По умолчанию
false
Пример
true
Логическое значениенеобязательный

Другие шаблоны для вывода информации из Викиданных

См. также

  • {{WD}} — для создания ссылок на элементы и свойства Викиданных