Documentation for this module may be created at Module:Sandbox/Ineditable/Twitter/doc
local p = {}
function p.createLink( frame )
local id = trim(frame.args.id or frame.args[1]) -- if not present should print an error. User friendly errors ¿?
local name = trim(frame.args.name or frame.args[2] or "")
local external = trim(frame.args.external or frame.args[3] or "")
local newLine = trim(frame.args.newline or frame.args[4] or "")
local patternUserRepresentation = '@'
-- remove @ from the beginning of the ID (if any)
if id.sub(id, 1, string.len(patternUserRepresentation)) == patternUserRepresentation then id = id.sub(id, 2, string.len(id)) end
-- repmove @ from the beginning of the user (if any)
if name ~= '' and id.sub(name, 1, string.len(patternUserRepresentation)) == patternUserRepresentation then name = name.sub(name, 2, string.len(name)) end
-- if the user is empty, use the ID, else use the name with a @
if name == '' then name = '@'..id else name = '@'..name end
-- write to output
local output = '[https://twitter.com/'.. id ..' '.. name ..']'
if external == 'true' or external == '1' then output = output .. ' en [[Twitter]]' end
if newLine == 'true' or newLine == '1' then output = '* '.. output end
return output
end
function trim(s)
return s:match'^%s*(.*%S)' or ''
end
return p