Editing Module:Lua banner

Jump to: navigation, search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

This page is not enabled for semantic in-text annotations due to namespace restrictions. Details about how to enable the namespace can be found on the configuration help page.

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 34: Line 35:
 
for i, module in ipairs(modules) do
 
for i, module in ipairs(modules) do
 
moduleLinks[i] = string.format('[[:%s]]', module)
 
moduleLinks[i] = string.format('[[:%s]]', module)
local maybeSandbox = mw.title.new(module .. '/sandbox')
 
if maybeSandbox.exists then
 
moduleLinks[i] = moduleLinks[i] .. string.format(' ([[:%s|sandbox]])', maybeSandbox.fullText)
 
end
 
 
end
 
end
 
local moduleList = mList.makeList('bulleted', moduleLinks)
 
local moduleList = mList.makeList('bulleted', moduleLinks)
local title = mw.title.getCurrentTitle()
+
boxArgs.text = 'Uses [[Wikipedia:Lua|Lua]]:\n' .. moduleList
if title.subpageText == "doc" then
 
title = title.basePageTitle
 
end
 
if title.contentModel == "Scribunto" then
 
boxArgs.text = 'This module depends on the following other modules:' .. moduleList
 
else
 
boxArgs.text = 'This template  uses [[Wikipedia:Lua|Lua]]:\n' .. moduleList
 
end
 
 
end
 
end
 
boxArgs.type = 'notice'
 
boxArgs.type = 'notice'
 
boxArgs.small = true
 
boxArgs.small = true
boxArgs.image = '[[File:Lua-Logo.svg|30px|alt=|link=]]'
+
boxArgs.image = '[[File:Lua-logo-nolabel.svg|30px|alt=Lua logo|link=Wikipedia:Lua]]'
 
return mMessageBox.main('mbox', boxArgs)
 
return mMessageBox.main('mbox', boxArgs)
 
end
 
end
Line 60: Line 49:
 
return ''
 
return ''
 
end
 
end
 
+
 
local cats = {}
 
local cats = {}
 
+
 
-- Error category
 
-- Error category
 
if #modules < 1 then
 
if #modules < 1 then
 
cats[#cats + 1] = 'Lua templates with errors'
 
cats[#cats + 1] = 'Lua templates with errors'
 
end
 
end
 
+
 
-- Lua templates category
 
-- Lua templates category
 
titleObj = titleObj or mw.title.getCurrentTitle()
 
titleObj = titleObj or mw.title.getCurrentTitle()
Line 76: Line 65:
 
testcases = true
 
testcases = true
 
}
 
}
if not subpageBlacklist[titleObj.subpageText] then
+
if titleObj.namespace == 10
local protCatName
+
and not subpageBlacklist[titleObj.subpageText]
if titleObj.namespace == 10 then
+
then
local category = args.category
+
local category = args.category
if not category then
+
if not category then
local categories = {
+
local categories = {
['Module:String'] = 'Templates based on the String Lua module',
+
['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/CS1'] = 'Templates based on the Citation/CS1 Lua module'
+
['Module:Citation'] = 'Lua-based citation templates'
}
 
category = modules[1] and categories[modules[1]]
 
category = category or 'Lua-based templates'
 
end
 
cats[#cats + 1] = category
 
protCatName = "Templates using under-protected Lua modules"
 
elseif titleObj.namespace == 828 then
 
protCatName = "Modules depending on under-protected modules"
 
end
 
if not args.noprotcat and protCatName then
 
local protLevels = {
 
autoconfirmed = 1,
 
extendedconfirmed = 2,
 
templateeditor = 3,
 
sysop = 4
 
 
}
 
}
local currentProt
+
categories['Module:Citation/CS1'] = categories['Module:Citation']
if titleObj.id ~= 0 then
+
category = modules[1] and categories[modules[1]]
-- id is 0 (page does not exist) if am previewing before creating a template.
+
category = category or 'Lua-based templates'
currentProt = titleObj.protectionLevels["edit"][1]
 
end
 
if currentProt == nil then currentProt = 0 else currentProt = protLevels[currentProt] end
 
for i, module in ipairs(modules) do
 
if module ~= "WP:libraryUtil" then
 
local moduleProt = mw.title.new(module).protectionLevels["edit"][1]
 
if moduleProt == nil then moduleProt = 0 else moduleProt = protLevels[moduleProt] end
 
if moduleProt < currentProt then
 
cats[#cats + 1] = protCatName
 
break
 
end
 
end
 
end
 
 
end
 
end
 +
cats[#cats + 1] = category
 
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)

Please note that all contributions to Yugipedia are considered to be released under the Creative Commons Attribution-ShareAlike 4.0 International License (see Yugipedia:Licensing for more details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

Cancel Editing help (opens in new window)
Preview page with this template
Below are some commonly used wiki markup codes. Simply click on what you want to use and it will appear in the edit box above.

View this template