Модуль:Wikidata/Software
Содержит функции форматирования для свойств и квалификаторов о программном обеспечении.
formatVersionClaim
Альтернатива formatStatementDefault()
для форматирования номера версии и даты её выхода.
Используется в шаблоне {{wikidata/p348}}.
Пример вызова:
{{#invoke:Wikidata|formatStatements|claim-module=Wikidata/Software|claim-function=formatVersionClaim|...}}
formatExtension
Альтернатива formatDatavalue()
для форматирования расширений файлов.
Используется в шаблоне {{wikidata/p1195}}.
Пример вызова:
{{#invoke:Wikidata|formatStatements|data-module=Wikidata/Software|data-function=formatVersionClaim|...}}
catForDate
Кроме того, содержит функцию catForDate, которая добавляет категорию [[Начало категории в ГГГГ году]] при помощи шаблона вида {{#invoke:Wikidata/Software|catForDate|{{Wikidata|p571|параметры шаблона Wikidata/p571}}|Начало категории}}. Функция ищет год, который либо викифицирован, либо просто передан числом. После функция формирует и возвращает категорию.
Во избежание поломок страниц, использующих данный модуль, желательно экспериментировать в Песочнице для модулей.
local p = {} --Property:P348 function p.formatVersionClaim( context, options, statement ) local snak = context.formatSnak( options, statement.mainsnak ) if ( statement.qualifiers ) then --Operation system if ( statement.qualifiers.P400 ) then snak = context.formatSnak( options, statement.qualifiers.P400[1] ) .. ': ' .. snak end --Name if ( statement.qualifiers.P1476 ) then snak = snak .. ' «' .. context.formatSnak( options, statement.qualifiers.P1476[1] ) .. '»' end --Date of release if ( statement.qualifiers.P577 ) then snak = snak .. ' (' .. context.formatSnak( options, statement.qualifiers.P577[1] ) .. ')' elseif ( statement.qualifiers.P585 ) then snak = snak .. ' (' .. context.formatSnak( options, statement.qualifiers.P585[1] ) .. ')' end end --References if ( options.references ) then snak = snak .. context.formatRefs( options, statement ); end return snak end --Property:P1195 function p.formatExtension( context, options, value ) return '<code>.' .. value .. '</code>' end return p