打开/关闭搜索
搜索
打开/关闭菜单
1.5K
18.1K
91
80K
导航
首页
最近更改
特殊页面
上传文件
随机页面
随机页面
随机歌曲
随机P主
编辑相关
帮助
讨论版
公共沙盒
待修改页面
批量上传文件
友情链接
VCPedia
打开/关闭外观设置菜单
通知
打开/关闭个人菜单
未登录
登录后可编辑和发表评论。
user-interface-preferences
个人工具
创建账号
登录
欢迎加入
本站官方QQ群
!
查看“︁Module:SectionEmbed”︁的源代码
来自Vocawiki
查看
阅读
查看源代码
查看历史
associated-pages
模块
讨论
更多操作
←
Module:SectionEmbed
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
local module = {} local getArgs = require('Module:Arguments').getArgs function errorMsg(text) error(text..'[[分类:含有错误嵌入片段的页面]]') end function module._main(args, frame) local titleName = args['page'] or '' if titleName == '' then errorMsg('请传入要载入内容所在的页面!') end local section = args['id'] or '' section = string.gsub(section, '([%%%(%)%.%+%-%*%?%[%]%^%$])', '%%%1') local params = args params['page'] = nil params['id'] = nil local title = mw.title.new(titleName) local redirect = '' local content = title:getContent() if content == nil then errorMsg('页面名无效,请确认传入的页面名是否正确!') end if string.find(content, '^#REDIRECT%s+%[%[.+%]%]%s*$') or string.find(content, '^#重定向%s+%[%[.+%]%]%s*$') then redirect = string.gsub(content, '.+%[%[(.+)%]%]%s*$', '%1') title = mw.title.new(redirect) content = title:getContent() if content == nil then errorMsg('传入的页面【'..titleName..'】为一个重定向页,并且它指向的页面【'..redirect..'】无效!') end end local redirectMsg = '' if redirect ~= '' then redirectMsg = '(重定向至'..redirect..')' end local ptn = '^(.-)<!%-%-%s*embed:?%s*'..(((section ~= '') and section) or '.-').. '%s*%-%->%s*(.-)%s*<!%-%-%s*embed%-end:?%s*'..(((section ~= '') and section) or '.-').. '%s*%-%->.-$' local sample = content content = mw.ustring.gsub(content, ptn, function(s1, s2) s1 = string.gsub(s1, '([^\n]*)\n', function(s3) if string.find(s3, '^(==?=?=?[^\n]-==?=?=?)$') then return s3..'\n' else return '' end end) local frame_child = frame:newChild({ title = (((redirect ~= '') and redirect) or titleName), args = params }) return string.gsub(frame_child:preprocess(s1..'\n@@@sectionEmbed-target@@@sectionEmbed-target@@@\n'..s2), '^.-\n@@@sectionEmbed%-target@@@sectionEmbed%-target@@@\n(.-)$', '%1') end) if sample == content then if section ~= '' then errorMsg('嵌入失败,请确认在页面【'..titleName..'】'..redirectMsg..'是否存在id为“'..section..'”的embed嵌入标记,并检查书写是否正确!') else errorMsg('嵌入失败,请确认在页面【'..titleName..'】'..redirectMsg..'是否存在embed嵌入标记,并检查书写是否正确!') end end return content end function module.main(frame) local args = getArgs(frame) return module._main(args, frame) end return module
该页面使用的模板:
Module:SectionEmbed/doc
(
查看源代码
)
返回
Module:SectionEmbed
。
查看“︁Module:SectionEmbed”︁的源代码
来自Vocawiki