Anonymous user
Module:URL: Difference between revisions
Jump to navigation
Jump to search
Making extraction of URLs containing "=" actually work per edit request
m (1 revision imported) |
(Making extraction of URLs containing "=" actually work per edit request) |
||
Line 2:
-- This module implements {{URL}}
--
-- See unit tests at [[Module:URL/
local p = {}
Line 17:
local function extractUrl(args)
for name, val in pairs(args) do
local url = name .. "=" .. val;
url = mw.ustring.gsub(url, '^[Hh][Tt][Tt][Pp]([Ss]?):(/?)([^/])', 'http%1://%3')
if uri and uri.host then
return url
end
end
Line 89 ⟶ 91:
--[[
The main entry point for
--]]
function p.url(frame)
local templateArgs = frame.args
local parentArgs = frame:getParent().args
local url = templateArgs[1] or parentArgs[1]
local text = templateArgs[2] or parentArgs[2] or ''
local msg = templateArgs.msg or parentArgs.msg or ''
▲ url = url or extractUrl(templateArgs) or extractUrl(parentArgs)
▲ end
return p._url(url, text, msg)
end
Line 112 ⟶ 111:
local templateArgs = frame.args
local parentArgs = frame:getParent().args
local url = templateArgs[1] or parentArgs[1]
local text = templateArgs[2] or parentArgs[2] or ''
-- default to no message
local msg = templateArgs.msg or parentArgs.msg or 'no'
▲ url = url or extractUrl(templateArgs) or extractUrl(parentArgs)
-- strip out html tags and [ ] from url
url = (url or ''):gsub("<[^>]*>", ""):gsub("[%[%]]", "")
|