Модуль:Колдонуучу:Абдырашит Сатылганов/Макалалар
Documentation for this module may be created at Модуль:Колдонуучу:Абдырашит Сатылганов/Макалалар/doc
local p = {}
local data = mw.loadData('Module:Колдонуучу:Абдырашит Сатылганов/Макалалар/data')
local frame = mw.getCurrentFrame()
local themes = {
'Физика',
'Астрономия',
'Экзопланеталар',
'Биология',
'География',
'Зоология',
'Химия',
'Илимий чөйрө',
'Тасмалар',
'Персоналар',
'Кыргызстан',
'Жалал-Абад',
'Технка',
'Саясат',
'Баскетбол',
'Хоккей',
'Футбол',
'Олимпиада',
'Флорбол',
'Жана башкалар'
}
-- жадыбалдын башжазуусун форматтайт
p.makeHeader = function()
return mw.ustring.format('%s%s',
'\n{| class="standard sortable"\n|-\n',
'! Макаланын аталышы !! Макаланын көлөмү, кБ !! Менин салымыдын пайызы\n|-\n'
)
end
-- жадыбалдын төлөсүн форматтайт
p.makeFooter = function()
return mw.ustring.format('%s',
'\n|}\n'
)
end
-- теманын башжазуусун форматтайт
p.makeSubheader = function(name)
return mw.ustring.format('%s%s',
'\n|-\n! colspan=3 |', name
)
end
-- жадыбалдын талаасын форматтайт
p.makeLine = function(title)
return mw.ustring.format('%s%s%s%s%s%s%s',
'\n|-\n| [[', title, ']]',
'\n| style="text-align:right;" |', frame:callParserFunction('PAGESIZE:' .. title),
'\n| style="text-align:right;" |', tostring(data[title].part)
)
end
-- темалардын маалыматы үчүн макалалардын тизмесин форматтайт
p.makeSubList = function(name)
local list = ''
for i, v in pairs(data) do
if v.theme == name then
list = list .. p.makeLine(i)
end
end
return list
end
-- теманын башжазуусу менен баардык макалалардын тизмесин форматтайт
p.makeList = function()
local list = ''
for i, t in pairs(themes) do
list = list .. p.makeSubheader(t)
list = list .. p.makeSubList(t)
end
return list
end
-- жадыбалдын жыйынтыгын форматтайт
p.makeTable = function()
return mw.ustring.format('%s%s%s',
p.makeHeader(),
p.makeList(),
p.makeFooter()
)
end
return p