Mô đun:Thảo luận BCB
Giao diện
local p = {}
-- Hàm ngoài
local _navbox = require('Module:Navbox')._navbox
local navbox = function(name, title, list)
return _navbox({
name = name,
title = title,
state = 'uncollapse',
listclass = 'hlist',
list1 = list
})
end
-- Hàm phụ trợ
local yearHandler = function(index)
return string.format('* [[Thảo luận Wikipedia:Bạn có biết/%s|%s]]', index, index)
end
local weekHandler = function(year)
return function(index)
return string.format(
'* [[Thảo luận Wikipedia:Bạn có biết/%s/Tuần %s|%s]]',
year, index, (index == 1 and 'Tuần ' or '') .. index
)
end
end
-- Hàm tạo danh sách
local list = function(istart, iend, fn)
local list = {}
for i = istart, iend do
list[#list + 1] = fn(i)
end
return table.concat(list, '\n')
end
local yearList = function()
local currentYear = tonumber(os.date('%Y'))
return list(2008, currentYear, yearHandler)
end
local weekList = function(year)
return list(1, 53, weekHandler(year))
end
-- Hàm trong package
function p.year(frame)
local year = frame.args[1]
return p._year(year)
end
function p._year(year)
local title = 'Thảo luận BCB ' .. year
return navbox(
title,
string.format('[[Thảo luận Wikipedia:Bạn có biết/%s|%s]]', year, title),
weekList(year)
)
end
function p.index()
return navbox(
'Thảo luận BCB theo năm',
'[[Thảo luận Wikipedia:Bạn có biết|Thảo luận BCB]]',
yearList()
)
end
return p