Changes

Jump to navigation Jump to search
m
1 revision imported
Line 1: Line 1: −
-- This implements Template:Tlg
+
-- This implements Template:Template link general and various other templates in its family
 
local getArgs = require('Module:Arguments').getArgs
 
local getArgs = require('Module:Arguments').getArgs
 
local p = {}
 
local p = {}
Line 34: Line 34:  
local function linkTitle(args)
 
local function linkTitle(args)
 
if _ne(args.nolink) then
 
if _ne(args.nolink) then
return args['1']
+
if _ne(args.subst) then
 +
return 'subst:' .. args['1']
 +
else
 +
return args['1']
 +
end
 
end
 
end
 
 
Line 90: Line 94:  
local dontBrace = _ne(args.brace) or _ne(args.braceinside)
 
local dontBrace = _ne(args.brace) or _ne(args.braceinside)
 
local code = _ne(args.code) or _ne(args.tt)
 
local code = _ne(args.code) or _ne(args.tt)
 +
local show_result = _ne(args._show_result)
 +
local expand = _ne(args._expand)
 
 
 
-- Build the link part
 
-- Build the link part
Line 98: Line 104:  
-- Build the arguments
 
-- Build the arguments
 
local textPart = ""
 
local textPart = ""
local textPartBuffer = ""
+
local textPartBuffer = "|"
 +
local codeArguments = {}
 +
local codeArgumentsString = ""
 
local i = 2
 
local i = 2
 +
local j = 1
 
while args[i] do
 
while args[i] do
 
local val = args[i]
 
local val = args[i]
textPartBuffer = textPartBuffer .. '|'
   
if val ~= "" then
 
if val ~= "" then
 
if _ne(args.nowiki) then
 
if _ne(args.nowiki) then
Line 109: Line 117:  
val = nw(mw.text.unstripNoWiki(val))
 
val = nw(mw.text.unstripNoWiki(val))
 
end
 
end
if italic then val = '<span style="font-style:italic;">' .. val .. '</span>' end
+
local k, v = string.match(val, "(.*)=(.*)")
 +
if not k then
 +
codeArguments[j] = val
 +
j = j + 1
 +
else
 +
codeArguments[k] = v
 +
end
 +
codeArgumentsString = codeArgumentsString .. textPartBuffer .. val
 +
if italic then
 +
val = '<span style="font-style:italic;">' .. val .. '</span>'
 +
end
 
textPart = textPart .. textPartBuffer .. val
 
textPart = textPart .. textPartBuffer .. val
textPartBuffer = ""
   
end
 
end
i = i+1
+
i = i + 1
 
end
 
end
   Line 124: Line 141:  
ret = '<code>' .. ret .. '</code>'
 
ret = '<code>' .. ret .. '</code>'
 
elseif _ne(args.plaincode) then
 
elseif _ne(args.plaincode) then
ret = '<code style="border:none;background:transparent;">' .. ret .. '</code>'
+
ret = '<code style="border:none;background:transparent;color:inherit">' .. ret .. '</code>'
 
end
 
end
 
if _ne(args.nowrap) then ret = '<span class="nowrap">' .. ret .. '</span>' end
 
if _ne(args.nowrap) then ret = '<span class="nowrap">' .. ret .. '</span>' end
Line 133: Line 150:  
--]]
 
--]]
 
if _ne(args.debug) then ret = ret .. '\n<pre>' .. mw.text.encode(mw.dumpObject(args)) .. '</pre>' end
 
if _ne(args.debug) then ret = ret .. '\n<pre>' .. mw.text.encode(mw.dumpObject(args)) .. '</pre>' end
 +
 +
if show_result then
 +
local result = mw.getCurrentFrame():expandTemplate{title = addTemplate(args[1]), args = codeArguments}
 +
ret = ret .. " → " .. result
 +
end
 +
 +
if expand then
 +
local query = mw.text.encode('{{' .. addTemplate(args[1]) .. string.gsub(codeArgumentsString, textPartBuffer, "|") .. '}}')
 +
local url = mw.uri.fullUrl('special:ExpandTemplates', 'wpInput=' .. query)
 +
mw.log()
 +
ret = ret .. " [" .. tostring(url) .. "]"
 +
end
 +
 
return ret
 
return ret
 
end
 
end
    
return p
 
return p
confirmed, superuser, Administrators
838

edits

Navigation menu