Editing Module:Lua banner
Jump to navigation
Jump to search
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 5: | Line 5: | ||
local mTableTools = require('Module:TableTools') | local mTableTools = require('Module:TableTools') | ||
local mMessageBox = require('Module:Message box') | local mMessageBox = require('Module:Message box') | ||
local p = {} | local p = {} | ||
function p.main(frame) | function p.main(frame) | ||
Line 29: | Line 20: | ||
end | end | ||
function p._main(args | function p._main(args) | ||
local modules = mTableTools.compressSparseArray(args) | local modules = mTableTools.compressSparseArray(args) | ||
local box = p.renderBox(modules | local box = p.renderBox(modules) | ||
local trackingCategories = p.renderTrackingCategories(args, modules | local trackingCategories = p.renderTrackingCategories(args, modules) | ||
return box .. trackingCategories | return box .. trackingCategories | ||
end | end | ||
function p.renderBox(modules | function p.renderBox(modules) | ||
local boxArgs = {} | local boxArgs = {} | ||
if #modules < 1 then | if #modules < 1 then | ||
boxArgs.text = '<strong class="error">Error: no modules specified</strong>' | |||
else | else | ||
local moduleLinks = {} | local moduleLinks = {} | ||
Line 51: | Line 37: | ||
end | end | ||
local moduleList = mList.makeList('bulleted', moduleLinks) | local moduleList = mList.makeList('bulleted', moduleLinks) | ||
boxArgs.text = | boxArgs.text = 'This {{#ifeq:{{NAMESPACE}}|Template|template|module}} uses [[w:Wikipedia:Lua|Lua]]:\n' .. moduleList | ||
end | end | ||
boxArgs.type = 'notice' | boxArgs.type = 'notice' | ||
boxArgs.small = true | boxArgs.small = true | ||
boxArgs.image = | boxArgs.image = '[[File:Lua-logo-nolabel.svg|30px|alt=Lua logo|link=w:Wikipedia:Lua]]' | ||
return mMessageBox.main('mbox', boxArgs) | return mMessageBox.main('mbox', boxArgs) | ||
end | end | ||
function p.renderTrackingCategories(args, modules, titleObj | function p.renderTrackingCategories(args, modules, titleObj) | ||
if yesno(args.nocat) then | if yesno(args.nocat) then | ||
return '' | return '' | ||
end | end | ||
local cats = {} | local cats = {} | ||
-- Error category | -- Error category | ||
if #modules < 1 | if #modules < 1 then | ||
cats[#cats + 1] = | 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() | ||
local subpageBlacklist = { | |||
doc = true, | |||
sandbox = true, | |||
sandbox2 = true, | |||
testcases = true | |||
} | |||
if titleObj.namespace == 10 | if titleObj.namespace == 10 | ||
and not | and not subpageBlacklist[titleObj.subpageText] | ||
then | then | ||
local category = args.category | local category = args.category | ||
if not category then | if not category then | ||
local | local categories = { | ||
['Module:String'] = 'Lua String-based templates', | |||
['Module:Math'] = 'Templates based on the Math Lua module', | |||
['Module:BaseConvert'] = 'Templates based on the BaseConvert Lua module', | |||
['Module:Citation'] = 'Lua-based citation templates' | |||
} | |||
categories['Module:Citation/CS1'] = categories['Module:Citation'] | |||
category = modules[1] and categories[modules[1]] | |||
category = category or 'Lua-based templates' | |||
end | end | ||
cats[#cats + 1] = category | |||
end | end | ||