Module:Script doc auto and Module:Script doc auto/sandbox: Difference between pages

(Difference between pages)
Page 1
Page 2
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 < 4 then
if len < 5 then
-- Too short page name, do nothing
-- Too short page name, do nothing
return ''
return ''
end
end
if page:sub(-4, -1) == '.css' then
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, -1) == '.js' then
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, c in pairs(repo) do
for n, conf in pairs(repo) do
local deps = c.options.dependencies and  
local deps = conf.options.dependencies and  
TableTools.listToSet(mw.text.split(c.options.dependencies, ',', false)) or {}
TableTools.listToSet(mw.text.split(conf.options.dependencies, ',', false)) or {}
local peers = c.options.peers and  
local peers = conf.options.peers and  
TableTools.listToSet(mw.text.split(c.options.peers, ',', false)) or {}
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
local usage = Gadgets.get_usage(name)
if usage == -1 then
usage = "an unknown number of"
else
usage = lang:formatNum(usage)
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 '..usage..' users. '))) ..
(', 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 [[Wikipedia:User scripts|user script]] seems to have a documentation page at [['..basepage.fullText..']] and an accompanying .'..sistertype..' page at [['..sisterpage.fullText..']].'
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 [[Wikipedia:User scripts|user script]] seems to have a documentation page at [['..basepage.fullText..']].'
text = 'This '..desc..' seems to have a documentation page at [['..basepage.fullText..']].'
elseif sisterpageExists then
elseif sisterpageExists then
text = 'Documentation for this [[Wikipedia:User scripts|user script]] can be added at [['..basepage.fullText..']]. This user script seems to have an accompanying .'..sistertype..' page at [['..sisterpage.fullText..']]. '
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 [[Wikipedia:User scripts|user script]] can be added at [['..basepage.fullText..']].'
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: #ecfcf4;',
style = 'background: var(--background-color-success-subtle, #d5fdf4); color: inherit; border: 1px solid var(--border-color-base, #a2ab91)',
text = text
text = text
})
})