Editing Module:Lua banner
Appearance
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
-- This module implements the {{lua}} template. | -- This module implements the {{lua}} template. | ||
local yesno = require('Module:Yesno') | local yesno = require('Module:Yesno') | ||
local mList = require('Module:List') | local mList = require('Module:List') | ||
Line 36: | Line 35: | ||
moduleLinks[i] = string.format('[[:%s]]', module) | moduleLinks[i] = string.format('[[:%s]]', module) | ||
local maybeSandbox = mw.title.new(module .. '/sandbox') | local maybeSandbox = mw.title.new(module .. '/sandbox') | ||
if | if maybeSandbox.exists then | ||
moduleLinks[i] = moduleLinks[i] .. string.format(' ([[:%s|sandbox]])', maybeSandbox.fullText) | moduleLinks[i] = moduleLinks[i] .. string.format(' ([[:%s|sandbox]])', maybeSandbox.fullText) | ||
end | end | ||
Line 53: | Line 52: | ||
boxArgs.type = 'notice' | boxArgs.type = 'notice' | ||
boxArgs.small = true | boxArgs.small = true | ||
boxArgs.image = '[[File:Lua- | boxArgs.image = '[[File:Lua-logo-nolabel.svg|30px|alt=|link=]]' | ||
return mMessageBox.main('mbox', boxArgs) | return mMessageBox.main('mbox', boxArgs) | ||
end | end | ||
Line 77: | Line 76: | ||
testcases = true | testcases = true | ||
} | } | ||
if not subpageBlacklist[titleObj.subpageText] then | if not subpageBlacklist[titleObj.subpageText] then | ||
local protCatName | local protCatName | ||
Line 84: | Line 82: | ||
if not category then | if not category then | ||
local categories = { | local categories = { | ||
['Module:String'] = ' | ['Module:String'] = 'Lua String-based templates', | ||
['Module:Math'] = 'Templates based on the Math Lua module', | ['Module:Math'] = 'Templates based on the Math Lua module', | ||
['Module:BaseConvert'] = 'Templates based on the BaseConvert Lua module', | ['Module:BaseConvert'] = 'Templates based on the BaseConvert Lua module', | ||
['Module:Citation | ['Module:Citation'] = 'Lua-based citation templates' | ||
} | } | ||
categories['Module:Citation/CS1'] = categories['Module:Citation'] | |||
category = modules[1] and categories[modules[1]] | category = modules[1] and categories[modules[1]] | ||
category = category or 'Lua-based templates' | category = category or 'Lua-based templates' | ||
Line 97: | Line 96: | ||
protCatName = "Modules depending on under-protected modules" | protCatName = "Modules depending on under-protected modules" | ||
end | end | ||
if not args.noprotcat and protCatName then | if not args.noprotcat and protCatName then | ||
local protLevels = { | local protLevels = { | ||
Line 107: | Line 105: | ||
local currentProt | local currentProt | ||
if titleObj.id ~= 0 then | if titleObj.id ~= 0 then | ||
-- | -- id is 0 (page does not exist) if am previewing before creating a template. | ||
currentProt = titleObj.protectionLevels["edit"][1] | |||
end | end | ||
if currentProt == nil then currentProt = 0 else currentProt = protLevels[currentProt] end | if currentProt == nil then currentProt = 0 else currentProt = protLevels[currentProt] end | ||
for i, module in ipairs(modules) do | for i, module in ipairs(modules) do | ||
if module ~= "WP:libraryUtil" then | if module ~= "WP:libraryUtil" then | ||
local | local moduleProt = mw.title.new(module).protectionLevels["edit"][1] | ||
if moduleProt == nil then moduleProt = 0 else moduleProt = protLevels[moduleProt] end | if moduleProt == nil then moduleProt = 0 else moduleProt = protLevels[moduleProt] end | ||
if moduleProt < currentProt then | if moduleProt < currentProt then | ||
Line 130: | Line 121: | ||
end | end | ||
end | end | ||
for i, cat in ipairs(cats) do | for i, cat in ipairs(cats) do | ||
cats[i] = string.format('[[Category:%s]]', cat) | cats[i] = string.format('[[Category:%s]]', cat) |