Модуль:Навигация: различия между версиями
Перейти к навигации
Перейти к поиску
ЗаяцВолк (обсуждение | вклад) (Новая страница: «local text="" local pos=1 -- итерируемая позиция в разбираемом шаблоне local args = require('Module:Arguments').getArgs(frame) function list ( row ) if args[pos+1] == nil then return end row["list_v"]=args[pos+1] row["n"]=1 pos=pos+2 end function header ( row ) if args[pos+1] == nil then return end row["head_v"]=args[pos+1] pos=pos+2 if args[pos] == "list" then list (row) row["n"]=2 else if args[pos] == "su...») |
ЗаяцВолк (обсуждение | вклад) |
||
Строка 51: | Строка 51: | ||
function prepare () | function prepare () | ||
local row={} | local row={} | ||
local prep={} | |||
while true do | while true do | ||
if args[pos] == nil then return | if args[pos] == nil then return t end | ||
if args[pos] == "header" then | if args[pos] == "header" then | ||
header ( row ) | header ( row ) | ||
table.insert(t, row) | |||
end | end | ||
if args[pos] == "list" then | if args[pos] == "list" then | ||
list ( row ) | list ( row ) | ||
table.insert(t, row) | |||
end | end | ||
Версия 00:05, 18 июля 2024
Для документации этого модуля может быть создана страница Модуль:Навигация/doc
local text="" local pos=1 -- итерируемая позиция в разбираемом шаблоне local args = require('Module:Arguments').getArgs(frame) function list ( row ) if args[pos+1] == nil then return end row["list_v"]=args[pos+1] row["n"]=1 pos=pos+2 end function header ( row ) if args[pos+1] == nil then return end row["head_v"]=args[pos+1] pos=pos+2 if args[pos] == "list" then list (row) row["n"]=2 else if args[pos] == "subh" then subheader ( row ) end end end -- { value style colspan } - td -- { head_v style_h list_v style_l n } - tr -- function bilding ( t ) local result="" for i in ipairs (t) do if t[i]["n"]==2 then result=result..'<tr><td>'..t[i]["head_v"]..'</td><td>'..t[i]["list_v"]..'</td></tr>' else if t[i]["head_v"] ~= nil then result=result..'<tr><td colspan="2">'..t[i]["head_v"]..'</td></tr>' else result=result..'<tr><td colspan="2">'..t[i]["list_v"]..'</td></tr>' end end end return result end function prepare () local row={} local prep={} while true do if args[pos] == nil then return t end if args[pos] == "header" then header ( row ) table.insert(t, row) end if args[pos] == "list" then list ( row ) table.insert(t, row) end end end local p = {} p.nav = function () local t= prepare () return '<table class="wikitable"'..bilding ( t )..'</table>' end return p