模块:Tab:修订间差异
来自Limbo Wiki Mirror
创建页面,内容为“local p = {}; function p.a(frame) -- name|text|name|text|... if ((type(frame.args[0]) == "nil") or (type(frame.args[1]) == "nil")) then mw.log(type(frame.args[0])) return '1'; end -- Frame Start -- t = "file"; if not(type(frame.args["mode"]) == "nil") then t = frame.args["mode"]; end t = mw.html.create('div') :attr('class','mw-parser-output tab') :attr('data-mode',t); -- Frame End -- a = mw.html.create('div'):attr('class','tabs'); b =…” |
小 已从limbowiki:模块:Tab导入6个版本 |
||
| (未显示1个用户的5个中间版本) | |||
| 第1行: | 第1行: | ||
-- Sandbox -- | |||
local p = {}; | local p = {}; | ||
function p.a(frame) -- name|text|name|text|... | function p.a(frame) -- name|text|name|text|... | ||
if ((type(frame.args[ | if ((type(frame.args[1]) == "nil") or (type(frame.args[2]) == "nil")) then | ||
mw.log | mw.log(frame.args[1]) | ||
return '1'; | return '1'; | ||
end | end | ||
| 第20行: | 第21行: | ||
a = mw.html.create('div'):attr('class','tabs'); | a = mw.html.create('div'):attr('class','tabs'); | ||
b = mw.html.create('div'):attr('class','texts'); | b = mw.html.create('div'):attr('class','texts'); | ||
a:tag("span"):attr("class","lw-treebut"):attr("id","tab- | a:tag("span"):attr("class","lw-treebut"):attr("id","tab-1"):attr("role","button"):wikitext(frame.args[1]); | ||
b:tag("div"):attr("class","lw-treediv tab- | b:tag("div"):attr("class","lw-treediv tab-1"):wikitext('<div class="title">'..frame.args[1].."</div>"..frame.args[2]); | ||
i = | i = 2; | ||
while not(type(frame.args[i*2]) == "nil" or type(frame.args[i*2 | while not(type(frame.args[i*2-1]) == "nil" or type(frame.args[i*2]) == "nil") do | ||
a:tag("span"):attr("class","lw-treebut"):attr("id","tab-" .. tostring(i)):attr("role","button"):wikitext(frame.args[i*2]); | a:tag("span"):attr("class","lw-treebut"):attr("id","tab-" .. tostring(i)):attr("role","button"):wikitext(frame.args[i*2-1]); | ||
b:tag("div"):attr("class","lw-treediv tab-" .. tostring(i)):css("display","none"):wikitext(frame.args[2*i+1 | b:tag("div"):attr("class","lw-treediv tab-" .. tostring(i)):css("display","none"):wikitext('<div class="title">'..frame.args[i*2-1].."</div>"..frame.args[2*i]); | ||
i = i+1; | |||
end | end | ||
t:wikitext(tostring(a),tostring(b)); | t:wikitext(tostring(a),tostring(b)); | ||
t = tostring(t); | t = tostring(t); | ||
return t; | return t; | ||
end | end | ||
return p; | return p; | ||
-- =p.a{args={"a","b","c","d","e"}} | -- =p.a{args={"a","b","c","d","e"}} | ||
2025年6月26日 (四) 13:42的最新版本
使用方法:{{#invoke:Tab|a|name1|text1|name2|text2|……}}
e.g.
{{#invoke:Tab|a
|标题|一段文字
|标题二|另一段文字
|标题三|第三段文字}}
标题标题二标题三
标题
一段文字
-- Sandbox --
local p = {};
function p.a(frame) -- name|text|name|text|...
if ((type(frame.args[1]) == "nil") or (type(frame.args[2]) == "nil")) then
mw.log(frame.args[1])
return '1';
end
-- Frame Start --
t = "file";
if not(type(frame.args["mode"]) == "nil") then
t = frame.args["mode"];
end
t = mw.html.create('div')
:attr('class','mw-parser-output tab')
:attr('data-mode',t);
-- Frame End --
a = mw.html.create('div'):attr('class','tabs');
b = mw.html.create('div'):attr('class','texts');
a:tag("span"):attr("class","lw-treebut"):attr("id","tab-1"):attr("role","button"):wikitext(frame.args[1]);
b:tag("div"):attr("class","lw-treediv tab-1"):wikitext('<div class="title">'..frame.args[1].."</div>"..frame.args[2]);
i = 2;
while not(type(frame.args[i*2-1]) == "nil" or type(frame.args[i*2]) == "nil") do
a:tag("span"):attr("class","lw-treebut"):attr("id","tab-" .. tostring(i)):attr("role","button"):wikitext(frame.args[i*2-1]);
b:tag("div"):attr("class","lw-treediv tab-" .. tostring(i)):css("display","none"):wikitext('<div class="title">'..frame.args[i*2-1].."</div>"..frame.args[2*i]);
i = i+1;
end
t:wikitext(tostring(a),tostring(b));
t = tostring(t);
return t;
end
return p;
-- =p.a{args={"a","b","c","d","e"}}
