Module:Template link general: Difference between revisions
Jump to navigation
Jump to search
Content added Content deleted
m (1 revision imported from wikipedia:Module:Template_link_general) |
en>Primefac (update from sandbox - fixes to _show_result and adding _expand) |
||
Line 91: | Line 91: | ||
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 show_result = _ne(args._show_result) |
||
local expand = _ne(args._expand) |
|||
-- Build the link part |
-- Build the link part |
||
Line 99: | Line 100: | ||
-- Build the arguments |
-- Build the arguments |
||
local textPart = "" |
local textPart = "" |
||
local textPartBuffer = "" |
local textPartBuffer = "|" |
||
local codeArguments = {} |
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 115: | ||
local k, v = string.match(val, "(.*)=(.*)") |
local k, v = string.match(val, "(.*)=(.*)") |
||
if not k then |
if not k then |
||
codeArguments[ |
codeArguments[j] = val |
||
j = j + 1 |
|||
else |
else |
||
codeArguments[k] = v |
codeArguments[k] = v |
||
end |
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 141: | 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 |
if show_result then |
||
local result = mw.getCurrentFrame():expandTemplate{title = |
local result = mw.getCurrentFrame():expandTemplate{title = addTemplate(args[1]), args = codeArguments} |
||
ret = ret .. " → " .. result |
ret = ret .. " → " .. result |
||
end |
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 |