Module:Maintainers
Jump to navigation
Jump to search
Example
Information
The following:
{{#invoke:Maintainers|info|MediaWiki-API}}
.. renders as:
- Maintained by Core Platform Team.
- Issue tracker: Phabricator (Report an issue)
Link stewardship
The following:
{{#invoke:Maintainers|link_stewardship|MediaWiki-API}}
.. renders as:
Link issue tracker
The following:
{{#invoke:Maintainers|link_issues|MediaWiki-API}}
.. renders as:
-- 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