Модуль:Wikidata/media
Материал из ChronoWiki
< Модуль:Wikidata
Перейти к навигацииПерейти к поискуВерсия от 19:12, 17 июля 2017; ru>Putnik (fix)
Функция formatCommonsCategory для вывода Ошибка Lua в Модуль:WD на строке 452: свойство P373 не найдено., использующегося в {{карточка/Викисклад}}.
Ранее планировалось перенести вывод типа commonsMedia из Модуль:Wikidata сюда.
local p = {} function p.formatCommonsCategory( context, options, value ) local link = 'commons:Category:' .. value local title = value .. ' на Викискладе' if ( options['text'] and options['text'] ~= '' ) then title = options['text'] end commons = '[[' .. link .. '|' .. title .. ']]' --Commons icon if ( not options['icon'] or options['icon'] ~= '-' ) then local icon_size = '15px' if ( options['icon_size'] and options['icon_size'] ~= '' ) then icon_size = options['icon_size'] end commons = '[[File:Commons-logo.svg|' .. icon_size .. '|link=' .. link .. ']] ' .. commons end --Text before and after link if ( options['text_before'] and options['text_before'] ~= '' ) then if ( options['text_before'] ~= '-' ) then commons = options['text_before'] .. ' ' .. commons end end if ( options['text_after'] and options['text_after'] ~= '' ) then if ( options['text_after'] ~= '-' ) then commons = commons .. ' ' .. options['text_after'] end end return commons end function p.formatImage( context, options, value ) local image = '[[File:' .. value if options['border'] and options['border'] ~= '' then image = image .. '|border' end if options['size'] and options['size'] ~= '' then image = image .. '|' .. options['size'] end if options['alt'] and options['alt'] ~= '' then image = image .. '|' .. options['alt'] end image = image .. ']]' return image end --[[ Функция для оформления одного утверждения (statement) для изображения Принимает: объект-таблицу утверждение, таблицу параметров, объект-функцию оформления внутренних структур утверждения (snak) и объект-функцию оформления ссылки на источники (reference) Возвращает: строку оформленного текста с заявлением (claim) ]] function p.formatImageClaim( context, options, statement ) local snak = statement.mainsnak local hash = '' local mainSnakClass = '' if ( snak.hash ) then hash = ' data-wikidata-hash="' .. snak.hash .. '"' else mainSnakClass = ' wikidata-main-snak'; end local before = '<span class="wikidata-snak ' .. mainSnakClass .. '"' .. hash .. '>' local after = '</span>' if snak.snaktype ~= 'value' then return '' end --Image legend local legend = '' if ( statement.qualifiers and statement.qualifiers.P2096 ) then local langCode = mw.language.getContentLanguage():getCode() mw.logObject( statement.qualifiers.P2096 ) mw.logObject( langCode ) for k, qualifier in pairs ( statement.qualifiers.P2096 ) do if qualifier.snaktype == 'value' and qualifier.datavalue.value.language == langCode then legend = '<br>' .. qualifier.datavalue.value.text break end end end return p.formatImage( context, options, snak.datavalue.value ) .. legend end return p