模組:ExpandTemplates
![文档图示](http://images.weserv.nl/?url=//upload.wikimedia.org/wikipedia/commons/thumb/4/43/Test_Template_Info-Icon_-_Version_%282%29.svg/50px-Test_Template_Info-Icon_-_Version_%282%29.svg.png)
您可能想要创建本Scribunto模块的文档。 编者可以在本模块的沙盒 (创建 | 镜像)和测试样例 (创建)页面进行实验。 请在/doc子页面中添加分类。本模块的子页面。 |
local p = {}
local error = require( 'Module:Error' )
local function makeRandomComment()
return '<!-- Module:ExpandTemplates # ' .. math.random() .. ' -->'
end
local function stripRandomComment( text )
return mw.ustring.gsub( text, '<!%-%- Module:ExpandTemplates # [%d.]+ %-%->', '' )
end
local function doTitle( frame, title )
if title == mw.title.getCurrentTitle() and not mw.isSubsting() then
return error.error{ message = 'Module:ExpandTemplates on current title must be substed.' }
end
local text = title:getContent()
if text == nil then
return ''
end
-- frame:preprocess instead of expandTemplate so that <includeonly>s are not in transclusion mode
-- and unfortunately it's impossible to specify a context title here...
text = frame:preprocess( text )
text = mw.text.unstrip( text )
return stripRandomComment( text ) .. makeRandomComment()
end
function p.self( frame )
return doTitle( frame, mw.title.getCurrentTitle() )
end
function p.page( frame )
return doTitle( frame, mw.title.new( frame.args[1] ) )
end
return p