ሞድዩል:URL
Documentation for this module may be created at ሞድዩል:URL/doc
local z = {}
function z.toLink(url, text)
--if true then return 'url: ' .. (url or '') .. ' text: ' .. (text or '') end
if not url or
url:match('^%s*$') then
return
elseif url:find('%[') or
url:match('^{{{.*}}}$') then -- For example, a template parameter, {{{web page|}}}
return url
elseif z.isValid(url) then
fixedUrl = url
else
fixedUrl = 'http://' .. url
end
if text then
return '[' .. fixedUrl .. ' ' .. text .. ']'
else
fixedText = fixedUrl:match('^http://(.+)') or
fixedUrl:match('^https://(.+)') or
fixedUrl
-- Delete the / at the end
fixedText = fixedText:match('(.+)/$') or fixedText
return '[' .. fixedUrl .. ' ' .. fixedText .. ']'
end
end
function z.url(frame)
if not frame or not frame.args then
return
end
return z.toLink(frame.args[1], frame.args[2])
end
--function z.plainLink
-- View the Plain link template
-- return
--end
-- See the checkurl function of the Citation/CS1 module.
function z.isValid(url)
return url:sub(1,2) == "//" or url:match( "^[^/]*:" )
end
return z