Модуль:Навигация: различия между версиями
Перейти к навигации
Перейти к поиску
ЗаяцВолк (обсуждение | вклад) |
ЗаяцВолк (обсуждение | вклад) |
||
Строка 81: | Строка 81: | ||
return [===[ | return [===[ | ||
<tr> | <tr> | ||
<th colspan="2" style="text-align:center;width:100%;"><div style="float:left; width:6em; text-align:left; font-size: smaller; font-weight: normal;" class="plainlinks">]===].. | <th colspan="2" style="text-align:center;width:100%;"><div style="float:left; width:6em; text-align:left; font-size: smaller; font-weight: normal;" class="plainlinks">]===]..mw.uri.fullUrl(args["имя"])..'</div><span style="font-size:110%;">' | ||
..z..'</span></th></tr>' | ..z..'</span></th></tr>' | ||
Версия 11:26, 18 июля 2024
Для документации этого модуля может быть создана страница Модуль:Навигация/doc
local text="" local pos=1 -- итерируемая позиция в разбираемом шаблоне local args = {} -- элементы шаблона -- эти 2 переменные можно всунуть внутрь функций local t = {} -- таблица данных для создания шаблона навигации local row = {} -- разбираемая строка шаблона навигации function list () if args[pos+1] == nil then return end row["list_v"]=args[pos+1] row["style_l"]='width:100%;' row["n"]=1 pos=pos+2 end function header ( ) if args[pos+1] == nil then return end row["head_v"]=args[pos+1] row["style_h"]='white-space:nowrap;' pos=pos+2 if args[pos] == "list" then list () row["n"]=2 else if args[pos] == "subh" then subheader ( ) 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 style="'..t[i]["style_h"]..'" >'..t[i]["head_v"]..'</td><td style="'..t[i]["style_l"]..'" >'..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 () row={} while true do if args[pos] == nil then break end if args[pos] == "header" then header() table.insert(t, row ) row={} end if args[pos] == "list" then list() table.insert(t, row ) row={} end end end function top_head () local z="Пропущен заголовок" if args["заголовок"] ~= nil then z=args["заголовок"] end return [===[ <tr> <th colspan="2" style="text-align:center;width:100%;"><div style="float:left; width:6em; text-align:left; font-size: smaller; font-weight: normal;" class="plainlinks">]===]..mw.uri.fullUrl(args["имя"])..'</div><span style="font-size:110%;">' ..z..'</span></th></tr>' end local p = {} p.nav = function ( frame) args = require('Module:Arguments').getArgs(frame) local style="" if args["стиль"]~= nil then style=style..args["стиль"] end if args["стиль_тела"]~= nil then style=style..args["стиль_тела"] end prepare () return '<table class="navbox collapsible autocollapse nowraplinks" style="margin:auto;'..style..'" >'..top_head()..bilding ( t )..'</table>' end return p