Moduł:Information: Różnice pomiędzy wersjami
Z Nonsensopedii, polskiej encyklopedii humoru
Ostrzyciel (dyskusja • edycje) M (inaczej) |
Ostrzyciel (dyskusja • edycje) M (zobaczmy.) |
||
Linia 1: | Linia 1: | ||
local tools = require('Module:Narzędzia') |
local tools = require('Module:Narzędzia') |
||
local props = {} |
local props = {} |
||
local rows = {} |
|||
-- funkcje lokalne |
-- funkcje lokalne |
||
Linia 8: | Linia 9: | ||
props[key] = props[key] or {} |
props[key] = props[key] or {} |
||
table.insert(props[key], value) |
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 |
end |
||
Linia 20: | Linia 38: | ||
if args['caption'] then |
if args['caption'] then |
||
appendProps('Ma podpis pliku', args['caption']) |
appendProps('Ma podpis pliku', args['caption']) |
||
addRow('fileinfotpl_caption', 'Podpis', args['caption']) |
|||
-- add row |
|||
else |
else |
||
appendProps('Nie ma podpisu pliku', true) |
appendProps('Nie ma podpisu pliku', true) |
||
Linia 28: | Linia 46: | ||
if args['description'] then |
if args['description'] then |
||
appendProps('Ma opis', args['description']) |
appendProps('Ma opis', args['description']) |
||
addRow('fileinfotpl_desc', 'Opis', args['description']) |
|||
-- add row |
|||
else |
else |
||
appendProps('Nie ma opisu', true) |
appendProps('Nie ma opisu', true) |
||
addRow('fileinfotpl_desc', 'Opis', "''Brak''") |
|||
-- add warning |
|||
end |
end |
||
Linia 37: | Linia 55: | ||
if args['confirmation'] then |
if args['confirmation'] then |
||
appendProps('Ma potwierdzenie licencji', args['confirmation']) |
appendProps('Ma potwierdzenie licencji', args['confirmation']) |
||
addRow('fileinfotpl_confirmation', 'Potwierdzenie licencji', args['confirmation']) |
|||
-- add row |
|||
end |
end |
||
Wersja z 17:28, 9 mar 2020
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
end
return p