WIKI公告栏
欢迎各位引航者访问卡拉彼丘WIKI,由于游客访问页面会有一定的页面旧版缓存,建议你登陆B站账号进行浏览,如果您觉得本WIKI有帮助到你,欢迎推荐给身边的引航者。
欢迎各位引航者访问卡拉彼丘WIKI,由于游客访问页面会有一定的页面旧版缓存,建议你登陆B站账号进行浏览,如果您觉得本WIKI有帮助到你,欢迎推荐给身边的引航者。
全站通知:
模块:TemplateAsyncLoad
刷
历
编
跳到导航
跳到搜索
本模块用于传递{{TemplateAsyncLoad}}所需延迟加载模板的参数。
local p = {}
function p.main(frame)
local args = require('Module:Arguments').getArgs(frame)
local titleArgKey = 'TemplateAsyncLoadTitle'
local title = args[titleArgKey]
local titleObj
-- 标题检查
assert(title, '未输入标题参数')
titleObj = mw.title.new(title, 'Template')
assert(titleObj, '无效标题')
assert(not titleObj.isExternal and titleObj.namespace == 10, '仅可输入模板标题')
assert(titleObj.exists, '模板不存在')
-- 标题规范化
title = titleObj.fullText
--处理传入参数
local count = 1
local data = {}
for key, value in pairs(args) do
if key ~= titleArgKey then
table.insert(data, string.format('data-key-%d="%s"', count, key))
table.insert(data, string.format('data-value-%d="%s"', count, value))
count = count + 1
end
end
return '<div class="TemplateAsyncLoad" style="text-align:center" data-title="' .. title .. '" ' .. table.concat(data, ' ') .. '>加载中……</div>'
end
return p