Bu şablon TemplateStyles parametrlərindən istifadə edir və aşağıdakı CSS səhifələrini yükləyir:
|
Bu modul {{Tab naviqasiyası}} şablonunu işə salır. İstifadə haqqında məlumatı oradan əldə edə bilərsiniz.
--[=[
Modulun inisializasiyası:
- defolt çıxarış dəyişəni ("p") və digər əsas dəyişənlər yaradılır;
- lazımi modullar və funksiyalar idxal olunur.
]=]
local p = {}
local styles = 'Modul:Tab naviqasiyası/styles.css' -- [[Modul:Tab naviqasiyası/styles.css]]
local getArgs = require('Modul:Arguments').getArgs
--[=[
Modulun əsas işi görən funksiyası. Modula ötürülən arqumentlərə uyğun
naviqasiya qaytarır. Şablonlardan birbaşa istifadə üçün nəzərdə tutulmayıb;
həmin vəzifəni "p.main()" funksiyası yerinə yetirir, hansı ki,
kodda bu funksiya qurtarandan dərhal sonra müəyyən edilib.
]=]
function p._main(args)
local tabs = mw.html.create('div')
:addClass('tabnav')
:addClass('cdx-tabs')
:addClass('cdx-tabs--quiet')
local header = mw.html.create('div')
:addClass('cdx-tabs__header')
local list = mw.html.create('div')
:addClass('cdx-tabs__list')
for k, v in pairs(args) do
if (type(k) == 'number') then
local alt = args['alt' .. (k == 1 and '' or k)]
local list_item = mw.html.create('span')
:addClass('cdx-tabs__list__item')
:wikitext('[[' .. v .. (alt and '|' .. alt or '') .. ']]')
list:node(list_item)
end
end
header:node(list)
tabs:node(header)
return tostring(tabs)
end
--[=[
Modulun şablonlar tərəfindən işə salınmalı olan funksiyası.
Arqumentləri yuxarıdakı "p._main()" funksiyasına ötürməkdən
başqa, sözün düzü, elə də "güclü" bir iş görmür.
]=]
function p.main(frame)
local args = getArgs(frame)
return frame:extensionTag{ name = 'TemplateStyles', args = { src = styles, wrapper = '.tabnav' } }
.. p._main(args)
end
return p