Module:Template link general: Difference between revisions
Content deleted Content added
update from sandbox to avoid redundant code |
Johnrdorazio (talk | contribs) m 1 revision imported |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 90: | Line 90: | ||
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 100: | ||
-- 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 = |
local val = args[i] |
||
textPartBuffer = textPartBuffer .. '|' |
|||
if val ~= "" then |
if val ~= "" then |
||
if _ne(args.nowiki) then |
if _ne(args.nowiki) then |
||
-- Unstrip nowiki tags first because calling nw on something that already contains nowiki tags will |
|||
⚫ | |||
-- mangle the nowiki strip marker and result in literal UNIQ...QINU showing up |
|||
val = nw(mw.text.unstripNoWiki(val)) |
|||
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 |
|||
⚫ | |||
end |
|||
textPart = textPart .. textPartBuffer .. val |
textPart = textPart .. textPartBuffer .. val |
||
textPartBuffer = "" |
|||
end |
end |
||
i = i+1 |
i = i + 1 |
||
end |
end |
||
Line 129: | Line 146: | ||
--]] |
--]] |
||
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 |