Module:Template link general: Difference between revisions
Content added Content deleted
en>Primefac (update from sandbox - fixes to _show_result and adding _expand) |
Vivaporius (talk | contribs) m (1 revision imported) |
||
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 100: | Line 98: | ||
-- 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 113: | Line 109: | ||
val = nw(mw.text.unstripNoWiki(val)) |
val = nw(mw.text.unstripNoWiki(val)) |
||
end |
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 |
i = i+1 |
||
end |
end |
||
Line 146: | Line 133: | ||
--]] |
--]] |
||
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 |