|
|
(5 intermediate revisions by 4 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 = "" |
| for i = 2, 11 do | | local textPartBuffer = "|" |
| local ii = tostring(i)
| | local codeArguments = {} |
| local val = args[ii] | | local codeArgumentsString = "" |
| if val ~= nil then val = mw.text.unstripNoWiki(val) else break end | | local i = 2 |
| if _ne(args.nowiki) then val = nw(val) end
| | local j = 1 |
| if italic then val = '<span style="font-style:italic;">' .. val .. '</span>' end
| | while args[i] do |
| textPart = textPart .. '|' .. val
| | local val = args[i] |
| | if val ~= "" 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 |
| | val = '<span style="font-style:italic;">' .. val .. '</span>' |
| | end |
| | textPart = textPart .. textPartBuffer .. val |
| | end |
| | i = i + 1 |
| end | | end |
| if _ne(args['12']) then textPart = textPart .. '|…' end
| | |
|
| |
| -- final wrap | | -- final wrap |
| local ret = titlePart .. textPart | | local ret = titlePart .. textPart |
Line 125: |
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 |
|
| |
|
| return p | | return p |