Модул:File
Пређи на навигацију
Пређи на претрагу
Овај модул служи за генерисање табеле са описом датотека. За документацију о коришћењу видети Шаблон:File. Овај модул такође довлачи потребне податке за рад из модула са подацима.
local p = {}
local title = mw.title.getCurrentTitle()
local data = mw.loadData('Module:File/data')
local function makeRow(html, title, content, id)
local tr = html:tag('tr')
local th = tr:tag('th'):wikitext(title)
if id ~= nil then
th:attr('id', id)
end
th:done()
tr:tag('td')
:wikitext(content)
:done()
:done()
end
function p.category(category, subcategory)
if category == nil then
return '[[Категорија:Остале датотеке]]'
elseif subcategory == nil then
return table.concat({'[[Категорија:', category, ']]'})
else
return table.concat({'[[Категорија:', category, '/', data.subcategories[subcategory], ']]'})
end
end
function p.main(frame)
local args = frame:getParent().args
if title.namespace ~= 6 then
return
end
local subject = mw.text.split(title.text, ' ', true)[1]
local category = data.categories[subject]
local html = mw.html.create('table')
:attr('class', 'wikitable file-description')
if args.description ~= nil then
makeRow(html, 'Опис датотеке', args.description, 'fileinfotpl_desc')
end
if category ~= nil then
makeRow(html, 'Предмет', table.concat({'[[', category, ']]'}))
end
if args.author ~= nil then
makeRow(html, 'Аутор', args.author, 'fileinfotpl_aut')
end
makeRow(html, 'Лиценца', tostring(mw.html.create('div')
:addClass('licensetpl')
:addClass('licensetpl_long')
:addClass('licensetpl_short')
:wikitext(args.license and data.licenses[args.license] or data.licenses.default)
))
if args.source ~= nil then
makeRow(html, 'Извор', args.source, 'fileinfotpl_src')
end
if args.notes ~= nil then
makeRow(html, 'Напомене', args.notes)
end
return tostring(html) .. p.category(category, args.type)
end
return p