Module:Sandbox/Ineditable/Twitter

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