Module:Script doc auto and Module:Script doc auto/sandbox: Difference between pages
(Difference between pages)
imported>Pppery Oops |
imported>Matrix No edit summary |
||
Line 13: | Line 13: | ||
p.core = function(page) | p.core = function(page) | ||
local len = page:len() | local len = page:len() | ||
if len < | if len < 5 then | ||
-- Too short page name, do nothing | -- Too short page name, do nothing | ||
return '' | return '' | ||
end | end | ||
if page:sub(-4 | if page:sub(-4) == '.css' then | ||
local basepage = page:sub(0, -5) | local basepage = page:sub(0, -5) | ||
local sisterpage = basepage..'.js' | local sisterpage = basepage..'.js' | ||
Line 24: | Line 24: | ||
end | end | ||
if page:sub(-3 | if page:sub(-3) == '.js' then | ||
local basepage = page:sub(0, -4) | local basepage = page:sub(0, -4) | ||
local sisterpage = basepage..'.css' | local sisterpage = basepage..'.css' | ||
return p.makeMessage('js', mw.title.new(basepage), mw.title.new(sisterpage), 'css') | return p.makeMessage('js', mw.title.new(basepage), mw.title.new(sisterpage), 'css') | ||
end | |||
if page:sub(-5) == '.json' then | |||
local basepage = page:sub(0, -6) | |||
return p.makeMessage('json', mw.title.new(basepage), mw.title.new(sisterpage), '') | |||
end | end | ||
end | end | ||
Line 48: | Line 53: | ||
if options.hidden ~= nil then | if options.hidden ~= nil then | ||
-- Find dependents | -- Find dependents | ||
for n, | for n, conf in pairs(repo) do | ||
local deps = | local deps = conf.options.dependencies and | ||
TableTools.listToSet(mw.text.split( | TableTools.listToSet(mw.text.split(conf.options.dependencies, ',', false)) or {} | ||
local peers = | local peers = conf.options.peers and | ||
TableTools.listToSet(mw.text.split( | TableTools.listToSet(mw.text.split(conf.options.peers, ',', false)) or {} | ||
if deps['ext.gadget.'..name] ~= nil or peers[name] ~= nil then | if deps['ext.gadget.'..name] ~= nil or peers[name] ~= nil then | ||
table.insert(dependents, '[[Special:Gadgets#gadget-'..n..'|'..n..']]') | table.insert(dependents, '[[Special:Gadgets#gadget-'..n..'|'..n..']]') | ||
end | end | ||
end | end | ||
end | end | ||
return 'This page is loaded as a part of the ' .. | return 'This page is loaded as a part of the ' .. | ||
Line 69: | Line 68: | ||
(#dependents > 0 and ' used by '..mw.text.listToText(dependents)..'.' or '.') or | (#dependents > 0 and ' used by '..mw.text.listToText(dependents)..'.' or '.') or | ||
(options.default ~= nil and ', <b>which is enabled by default</b>.' or | (options.default ~= nil and ', <b>which is enabled by default</b>.' or | ||
(', used by '.. | (', used by '..lang:formatNum(Gadgets.get_usage(name))..' users. '))) .. | ||
'<br>' | '<br>' | ||
end | end | ||
Line 75: | Line 74: | ||
p.makeMessage = function(pagetype, basepage, sisterpage, sistertype) | p.makeMessage = function(pagetype, basepage, sisterpage, sistertype) | ||
local text = '' | local text = '' | ||
if basepage.namespace == 2 then | if basepage.namespace == 2 and pagetype ~= 'json' then | ||
if skins[basepage.subpageText] ~= nil then | if skins[basepage.subpageText] ~= nil then | ||
-- We are on a user skin file | -- We are on a user skin file | ||
Line 84: | Line 83: | ||
local docpageExists = basepage.exists | local docpageExists = basepage.exists | ||
local sisterpageExists = sisterpage.exists | local sisterpageExists = sisterpage.exists | ||
local desc = pagetype == 'js' and '[[Wikipedia:User scripts|user script]]' or 'user stylesheet' | |||
if docpageExists and sisterpageExists then | if docpageExists and sisterpageExists then | ||
text = 'This | text = 'This '..desc..' seems to have a documentation page at [['..basepage.fullText..']] and an accompanying .'..sistertype..' page at [['..sisterpage.fullText..']].' | ||
elseif docpageExists and not sisterpageExists then | elseif docpageExists and not sisterpageExists then | ||
text = 'This | text = 'This '..desc..' seems to have a documentation page at [['..basepage.fullText..']].' | ||
elseif sisterpageExists then | elseif sisterpageExists then | ||
text = 'Documentation for this | text = 'Documentation for this '..desc..' can be added at [['..basepage.fullText..']]. This user script seems to have an accompanying .'..sistertype..' page at [['..sisterpage.fullText..']]. ' | ||
else | else | ||
text = 'Documentation for this | text = 'Documentation for this '..desc..' can be added at [['..basepage.fullText..']].' | ||
end | end | ||
end | end | ||
Line 113: | Line 114: | ||
type = 'system', | type = 'system', | ||
image = '[[File:Template-info.svg|43x40px]]', | image = '[[File:Template-info.svg|43x40px]]', | ||
style = 'background: # | style = 'background: var(--background-color-success-subtle, #d5fdf4); color: inherit; border: 1px solid var(--border-color-base, #a2ab91)', | ||
text = text | text = text | ||
}) | }) |