Difference between revisions of "Module:Maintainers"

From RobotX
Jump to navigation Jump to search
Mediawiki>Krinkle
 
m (1 revision imported)
 
(No difference)

Latest revision as of 23:34, 30 November 2019

Example

Information

The following:

{{#invoke:Maintainers|info|MediaWiki-API}}

.. renders as:

Link stewardship

The following:

{{#invoke:Maintainers|link_stewardship|MediaWiki-API}}

.. renders as:

Core Platform Team

Link issue tracker

The following:

{{#invoke:Maintainers|link_issues|MediaWiki-API}}

.. renders as:

Phabricator


-- Component information table
--
local maintainers = {
	-- Format:
	-- [key]: Lowercase component name (used via Template:Component)
	-- doc_page: Wiki page name on mediawiki.org. (optional)
	-- steward: Name of team holding the component's stewardship, linked. (optional)
	-- phab: Name of Phabricator tag. (optional)
	["mediawiki-api"] = {
		steward = "[[Core Platform Team]]",
		phab = "mediawiki-api",
	},
	["mediawiki-redirects"] = {
		phab = "mediawiki-redirects",
	},
	["mediawiki-interface"] = {
		phab = "mediawiki-interface",
	},
	["resourceloader"] = {
		steward = "[[Wikimedia Performance Team|Performance Team]]",
		phab = "mediawiki-resourceloader",
	},
	["navigationtiming"] = {
		steward = "[[Wikimedia Performance Team|Performance Team]]",
		phab = "MediaWiki-extensions-NavigationTiming",
	}
}

-- Lua methods to access the above information.

local function get_steward_link( key )
	return maintainers[ key ] and maintainers[ key ].steward or "?"
end

-- Exported lua module

local p = {}
function p.link_stewardship( frame )
	local key = string.lower( frame.args[1] )
	return get_steward_link( key )
end
function p.link_issues( frame )
	local key = string.lower( frame.args[1] )
	local phab = maintainers[ key ] and maintainers[ key ].phab
	if phab then
		return "[https://phabricator.wikimedia.org/tag/"
			.. mw.uri.encode( phab )
			.. "/ Phabricator]"
	end
	return ""
end
function p.info( frame )
	local key = string.lower( frame.args[1] )
	local line = "* Maintained by " .. get_steward_link( key ) .. "."
	local phab = maintainers[ key ] and maintainers[ key ].phab
	if phab then
		line = line .. "\n* Issue tracker: [https://phabricator.wikimedia.org/tag/"
			.. mw.uri.encode( phab )
			.. "/ Phabricator]"
			.. " ([https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects="
			.. mw.uri.encode( phab )
			.. " Report an issue])"
	end
	return line
end
return p