Moduł:Information
Z Nonsensopedii, polskiej encyklopedii humoru
Wersja z dnia 17:29, 9 mar 2020 autorstwa Ostrzyciel (dyskusja • edycje)
Moduł generujący tabelkę w szablonie {{Information}}
i ustawiający odpowiednie własności semantyczne. Instrukcję korzystania znajdziesz na stronie Nonsensopedia:Opisywanie grafik.
Zobacz też: Moduł:InformationProvider, który pobiera informacje o plikach.
local tools = require('Module:Narzędzia')
local props = {}
local rows = {}
-- funkcje lokalne
-- funkcja pomocnicza do scalania tabel atrybutów
local function appendProps(key, value)
props[key] = props[key] or {}
table.insert(props[key], value)
end
local function addRow(id, name, content)
local row = '<tr style="vertical-align: top">'
row = row .. '<td id="' .. id .. '" style="background: #ccf; text-align: right; padding-right: 0.4em; width: 15%; font-weight:bold">'
row = row .. name .. '</td>'
row = row .. '<td>' .. content .. '</td></tr>'
table.insert(rows, row)
end
local function getTable()
local s =
'<table class="information-template toccolours" style="width: 100%;" cellpadding="4">'
.. table.concat(rows)
.. '</table>'
return s
end
-- funkcje eksportowane
local p = {}
-- zrób cuda
function p.information(frame)
local args = tools.getArgs(frame)
-- caption
if args['caption'] then
appendProps('Ma podpis pliku', args['caption'])
addRow('fileinfotpl_caption', 'Podpis', args['caption'])
else
appendProps('Nie ma podpisu pliku', true)
end
-- description
if args['description'] then
appendProps('Ma opis', args['description'])
addRow('fileinfotpl_desc', 'Opis', args['description'])
else
appendProps('Nie ma opisu', true)
addRow('fileinfotpl_desc', 'Opis', "''Brak''")
end
-- confirmation
if args['confirmation'] then
appendProps('Ma potwierdzenie licencji', args['confirmation'])
addRow('fileinfotpl_confirmation', 'Potwierdzenie licencji', args['confirmation'])
end
mw.smw.set(props)
return getTable()
end
return p