Address
:
(Go:
>> BACK <<
-|-
>> HOME <<
)
Include Form
Remove Scripts
Accept Cookies
Show Images
Show Referer
Rotate13
Base64
Strip Meta
Strip Title
Session Cookies
跳转到内容
主菜单
主菜单
移至侧栏
隐藏
导航
首页
社群首页
最近更改
随机页面
图书馆
维基儿童
上传文件
帮助
帮助
互助客栈
方针与指引
字词转换
所有页面
IRC即時聊天
联络我们
关于维基教科书
资助我们
搜索
搜索
创建账号
登录
个人工具
创建账号
登录
未登录编辑者的页面
了解详情
贡献
讨论
查看“Module:HtmlBuilder”的源代码
添加语言
模块
讨论
English
阅读
查看源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
查看源代码
查看历史
常规
链入页面
相关更改
特殊页面
页面信息
获取短URL
下载二维码
维基数据项目
←
Module:HtmlBuilder
因为以下原因,您没有权限编辑该页面:
此页面已受到保护,以防止编辑或其他操作。
您的IP地址属于已
在所有维基媒体基金会维基受到封禁
的地址段。
封禁执行者是
Jon Kolbert
。封禁原因是
Open proxy/Webhost
: See the
help page
if you are affected
。
封禁开始时间:2023年11月13日 (一) 14:17
封禁期满时间:2027年11月13日 (六) 14:17
您当前的IP地址是182.50.135.77。封禁的地址段是182.50.128.0/19。 请在进行咨询时提供上面所有详情。如果您认为您受到错误封禁,您可以在
禁止公开代理
全域方针里找到更多信息和说明。您也可以
到元维基发布复查申请
讨论该封禁。您还可以给
监管员
VRT
队列(
stewards@wikimedia.org
)发送提供上面所有详情的电子邮件。
您可以查看和复制此页面的源代码。
-- Module for building complex HTML (e.g. infoboxes, navboxes) using a fluent interface. local HtmlBuilder = {} local metatable = {} metatable.__index = function(t, key) local ret = rawget(t, key) if ret then return ret end ret = metatable[key] if type(ret) == 'function' then return function(...) return ret(t, ...) end else return ret end end metatable.__tostring = function(t) local ret = {} t._build(ret) return table.concat(ret) end metatable._build = function(t, ret) if t.tagName then table.insert(ret, '<' .. t.tagName) for i, attr in ipairs(t.attributes) do table.insert(ret, ' ' .. attr.name .. '="' .. attr.val .. '"') end if #t.styles > 0 then table.insert(ret, ' style="') for i, prop in ipairs(t.styles) do if type(prop) == 'string' then -- added with cssText() table.insert(ret, prop .. ';') else -- added with css() table.insert(ret, prop.name .. ':' .. prop.val .. ';') end end table.insert(ret, '"') end if t.selfClosing then table.insert(ret, ' /') end table.insert(ret, '>') end for i, node in ipairs(t.nodes) do if node then if type(node) == 'table' then node._build(ret) else table.insert(ret, tostring(node)) end end end if t.tagName and not t.unclosed and not t.selfClosing then table.insert(ret, '</' .. t.tagName .. '>') end end metatable.node = function(t, builder) if builder then table.insert(t.nodes, builder) end return t end metatable.wikitext = function(t, ...) local vals = {...} for i = 1, #vals do if vals[i] then table.insert(t.nodes, vals[i]) end end return t end metatable.newline = function(t) table.insert(t.nodes, '\n') return t end metatable.tag = function(t, tagName, args) args = args or {} args.parent = t local builder = HtmlBuilder.create(tagName, args) table.insert(t.nodes, builder) return builder end local function getAttr(t, name) for i, attr in ipairs(t.attributes) do if attr.name == name then return attr end end end metatable.attr = function(t, name, val) if type(val) == 'string' or type(val) == 'number' then -- if caller sets the style attribute explicitly, then replace all styles previously added with css() and cssText() if name == 'style' then t.styles = {val} return t end local attr = getAttr(t, name) if attr then attr.val = val else table.insert(t.attributes, {name = name, val = val}) end end return t end metatable.addClass = function(t, class) if class then local attr = getAttr(t, 'class') if attr then attr.val = attr.val .. ' ' .. class else t.attr('class', class) end end return t end metatable.css = function(t, name, val) if type(val) == 'string' or type(val) == 'number' then for i, prop in ipairs(t.styles) do if prop.name == name then prop.val = val return t end end table.insert(t.styles, {name = name, val = val}) end return t end metatable.cssText = function(t, css) if css then table.insert(t.styles, css) end return t end metatable.done = function(t) return t.parent or t end metatable.allDone = function(t) while t.parent do t = t.parent end return t end function HtmlBuilder.create(tagName, args) args = args or {} local builder = {} setmetatable(builder, metatable) builder.nodes = {} builder.attributes = {} builder.styles = {} builder.tagName = tagName builder.parent = args.parent builder.unclosed = args.unclosed or false builder.selfClosing = args.selfClosing or false return builder end return HtmlBuilder
该页面使用的模板:
Template:Deprecated template
(
编辑
)
Template:Mbox
(
查看源代码
)(受半保护)
Template:Namespace
(
编辑
)
Template:Template error
(
编辑
)
Template:Template error/core
(
编辑
)
Template:Tl
(
编辑
)
Template:Transclude
(
编辑
)
Template:Translating
(
编辑
)
Module:HtmlBuilder/doc
(
编辑
)
Module:InfoboxImage
(
编辑
)
返回
Module:HtmlBuilder
。
开关有限宽度模式