请输入您要查询的百科知识:

 

词条 Module:Redirect template
释义

require('Module:No globals')

local p = {}

-- key is beginning of arg name. value is table with namespace number and link-- alternatively, a function taking the namespace number and returning a validity-- can be used

local namespaceCategories = {

all = { function() return true end },

main = { 0, 'main' },

help = { 12, 'help' },

portal = { 100, 'portal' },

talk = { function(n) return n > 0 and n%2 == 1 end, 'talk' },

template = { 10, 'template' },

wikipedia = { 4, 'Wikipedia project' },

category = { 14, 'category' },

user = { 2, 'user' },

}

-- remove whitespaces from beginning and end of args

local function valueFunc(key, val)

if type(val) == 'string' then

val = val:match('^%s*(.-)%s*$')

if val == then

return nil

end

end

return val

end

local function getPrettyName(args)

for k in pairs(namespaceCategories) do

if args[k .. ' category'] then

return string.format("%s: ", args[k .. ' category'], args.name)

end

end

return string.format("%s: ", args.name)

end

function p.main(frame)

local args = require('Module:Arguments').getArgs(frame, {wrappers = 'Template:Redirect template', valueFunc = valueFunc})

local namespace = mw.title.getCurrentTitle().namespace

--- XXX: this is a HORRIBLE HACK. kill it with fire as soon as https://bugzilla.wikimedia.org/show_bug.cgi?id=12974 is fixed

local beCompatibleWithBug12974 = args.info and (args.info:find('^[:;#*]', 1) == 1 or args.info:find('{|', 1, true) == 1) and '\' or ' '

local content = string.format('\

\*%sThis is a redirect%s%s.%s%s
',

args.class or ,

args.name and getPrettyName(args) or ,

args.from and (' from ' .. args.from) or ,

args.to and (' to ' .. args.to) or ,

args.info and beCompatibleWithBug12974 or ,

args.info or

)

for k,v in pairs(namespaceCategories) do

if args[k .. ' category'] then

if type(v[1]) == 'function' and v[1](namespace) or v[1] == namespace then

content = content .. string.format(, args[k .. ' category'])

elseif args['other category'] then

content = content .. string.format(, args['other category'])

else

content = content .. frame:expandTemplate{title = 'Incorrect redirect template', args = {v[2]}}

end

end

end

if namespace == 0 then

local yesno = require('Module:Yesno')

if yesno(args.printworthy) == true then

return content ..

elseif yesno(args.printworthy) == false then

return content ..

end

end

return content

end

return p

4 : %s|%s|Printworthy redirects|Unprintworthy redirects

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/9/28 7:16:51