Module:Labels
From ArchivesWiki
Documentation for this module may be created at Module:Labels/doc
local p = {}
function getLabel( ident )
local fullUrl = mw.title.new( ident ):fullUrl()
local qrCode = mw.getCurrentFrame():callParserFunction{ name='#qrlite', args = { fullUrl, format="svg", size="3" } }
return '<div class="mdl-labels-label">'
.. '<div class="mdl-labels-code">' .. qrCode .. '</div>'
.. '<div class="mdl-labels-text">'
.. '<div class="mdl-labels-title">' .. mw.site.siteName .. '</div>'
.. '<div class="mdl-labels-label">' .. ident .. '</div>'
.. '</div>'
.. '</div>'
end
p.main = function( frame )
local idents = ''
if frame.args.idents and frame.args.idents ~= '' then
idents = frame.args.idents
end
if frame.args.from and frame.args.from ~= ''
and frame.args.to and frame.args.to ~= ''
and frame.args.prefix and frame.args.prefix ~= ''
then
local i = tonumber( frame.args.from )
while i < tonumber( frame.args.to ) do
idents = idents .. ' ' .. frame.args.prefix .. i
i = i + 1
end
end
local out = ''
for _,ident in pairs( mw.text.split( mw.text.trim( idents ), '%s' ) ) do
if ident ~= nil and ident ~= '' then
local label = getLabel( ident )
out = out .. label
end
end
return mw.getCurrentFrame():extensionTag( 'templatestyles', '', { src = "Module:Labels/styles.css" } )
.. '<div class="mdl-labels">' .. out .. '</div>'
end
-- =p.main({args={idents='foo\nbar'}})
-- =p.main({args={prefix='FOO', from='3', to='6'}})
return p
