মডিউল:তাক
অবয়ব
এই মডিউলের জন্য মডিউল:তাক/নথি-এ নথিপত্র তৈরি করা হয়ে থাকতে পারে
local p = {}
local page = mw.title.getCurrentTitle().fullText
local function getchar(str, i, o)
return mw.ustring.sub(str, i, o)
end
function p.shelf(frame)
local shelf = getchar(page,1,4) == 'তাক:' -- check of shelf namespace
if shelf then
return "Shelf"
else
return " not"
end
end
local html = mw.html
function p.render(frame)
local args = frame:getParent().args
local shelf = args.shelf or 'শেলফ'
local description = args.description or ''
local icon = args.icon or ''
local iconwidth = args.iconwidth or '50px'
local theme = args.theme or 'default'
local theme2 = args.theme2 or 'default'
local parent = args.parent or ''
local parent2 = args.parent2 or ''
-- প্রধান কন্টেইনার
local container = html.create('table')
:css({
['width'] = '100%',
['margin'] = '0 0 4px 0',
['border'] = '1px solid #ccc',
['background-color'] = '#f9f9f9'
})
:attr('cellspacing', '0')
:attr('cellpadding', '0')
-- শিরোনাম সারি
local headerRow = container:tag('tr')
headerRow:tag('td')
:attr('colspan', '2')
:css({
['background-color'] = '#e9e9e9',
['padding'] = '0.5em',
['font-size'] = '120%',
['font-weight'] = 'bold',
['text-transform'] = 'capitalize'
})
:wikitext(shelf)
-- বিবরণ সারি
local descRow = container:tag('tr')
descRow:tag('td')
:attr('colspan', '2')
:css({
['padding'] = '0.5em',
['font-size'] = '90%'
})
:wikitext(description)
-- বইয়ের বিভাগসমূহ
local categories = {
{ label = 'সম্পূর্ণ হওয়া বই', cat = 'সম্পূর্ণ হওয়া বই' },
{ label = 'প্রায় সম্পূর্ণ হওয়া বই', cat = 'প্রায় সম্পূর্ণ হওয়া বই' },
{ label = 'অর্ধ-সমাপ্ত বই', cat = 'অর্ধ-সমাপ্ত বই' },
{ label = 'আংশিক বিকশিত বই', cat = 'আংশিক বিকশিত বই' },
{ label = 'সদ্য শুরু করা বই', cat = 'সদ্য শুরু করা বই' },
{ label = 'অজানা সমাপ্তি', cat = 'অজানা সমাপ্তি' }
}
for _, category in ipairs(categories) do
local row = container:tag('tr')
row:tag('td')
:attr('colspan', '2')
:css({
['padding'] = '0.5em',
['font-size'] = '90%'
})
:wikitext(string.format("'''%s''': {{Shelf:Page/booklist|shelf=%s|cat=%s}}", category.label, shelf, category.cat))
end
return tostring(container)
end
return p