Module:No ping: Difference between revisions
Jump to navigation
Jump to search
m>TheDJ let's prepare this for 'global' usage. avoid having to correct it in the future |
m>Jc86035 added link colour based on whether page exists |
||
Line 15: | Line 15: | ||
local url = fullUrl(mw.site.namespaces.User.name .. ':' .. username) | local url = fullUrl(mw.site.namespaces.User.name .. ':' .. username) | ||
url = tostring(url) | url = tostring(url) | ||
local label = args['label' .. tostring(i)] | local label = args['label' .. tostring(i)] or username | ||
url = format('[%s %s]', url, label | local color = '#cc2200' | ||
if mw.title.new(username, mw.site.namespaces.User.name).exists then color = '#0645ad' end | |||
label = '<span style="color:' .. color .. '">' .. label .. '</span>' | |||
url = format('[%s %s]', url, label) | |||
ret[#ret + 1] = url | ret[#ret + 1] = url | ||
end | end |
Revision as of 05:14, 18 April 2017
Documentation for this module may be created at Module:No ping/doc
-- This module implements {{noping}}.
local p = {}
function p.main(frame)
local args = frame:getParent().args
return p._main(args)
end
function p._main(args)
local ret = {}
local fullUrl = mw.uri.fullUrl
local format = string.format
for i, username in ipairs(args) do
local url = fullUrl(mw.site.namespaces.User.name .. ':' .. username)
url = tostring(url)
local label = args['label' .. tostring(i)] or username
local color = '#cc2200'
if mw.title.new(username, mw.site.namespaces.User.name).exists then color = '#0645ad' end
label = '<span style="color:' .. color .. '">' .. label .. '</span>'
url = format('[%s %s]', url, label)
ret[#ret + 1] = url
end
ret = mw.text.listToText(ret)
ret = '<span class="plainlinks">' .. ret .. '</span>'
return ret
end
return p