Module:D'ni Tools: Difference between revisions
From Guild of Archivists
BladeLakem (talk | contribs) mNo edit summary |
BladeLakem (talk | contribs) mNo edit summary |
||
Line 22: | Line 22: | ||
output = '[[Dictionary:'..mw.ustring.sub(word,1,-2)..'|'..word..']]' | output = '[[Dictionary:'..mw.ustring.sub(word,1,-2)..'|'..word..']]' | ||
elseif (first == '.') then | elseif (first == '.') then | ||
output = '.[[Dictionary:'..mw.ustring.sub(word,2,-1)..'|'..word..']]' | output = '.[[Dictionary:'..mw.ustring.sub(word,2,-1)..'|'..mw.ustring.sub(word,2,-1)..']]' | ||
else | else | ||
output = '[[Dictionary:'..word..'|'..word..']]' | output = '[[Dictionary:'..word..'|'..word..']]' | ||
Line 39: | Line 39: | ||
end | end | ||
for | for i,v in pairs(origArgs) do | ||
output = output..parseArg(origArgs[ | output = output..parseArg(origArgs[i]) | ||
end | end | ||
Revision as of 23:37, 20 July 2016
Documentation for this module may be created at Module:D'ni Tools/doc
local p = {}
local args = {}
local origArgs
local output = ''
local function parseArg(input)
local output = ''
local word = mw.text.trim(input)
local first = mw.ustring.sub(word,1,1)
local last = mw.ustring.sub(word,-1,-1)
if (word == '') then
output = ' '
elseif (first == '-') then
output = '[[Dictionary:'..mw.ustring.sub(word,2,-1)..'|'..word..']]'
elseif (last == '-') then
output = '[[Dictionary:'..mw.ustring.sub(word,1,-2)..'|'..word..']]'
elseif (first == '.') then
output = '.[[Dictionary:'..mw.ustring.sub(word,2,-1)..'|'..mw.ustring.sub(word,2,-1)..']]'
else
output = '[[Dictionary:'..word..'|'..word..']]'
end
return output
end
function p.parsed_dni(frame)
-- If called via #invoke, use the args passed into the invoking template.
-- Otherwise, for testing purposes, assume args are being passed directly in.
if frame == mw.getCurrentFrame() then
origArgs = frame:getParent().args
else
origArgs = frame
end
for i,v in pairs(origArgs) do
output = output..parseArg(origArgs[i])
end
return output
end
return p