Module:lua banner: Difference between revisions
No edit summary |
No edit summary |
||
| (4 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
-- This module implements the {{lua}} template. | -- This module implements the {{lua}} template. | ||
local yesno = require('Module: | local yesno = require('Module:yesno') | ||
local m_List = require('Module:List') | local m_List = require('Module:List') | ||
local m_TableTools = require('Module:TableTools') | local m_TableTools = require('Module:TableTools') | ||
| Line 22: | Line 22: | ||
local modules = m_TableTools.compressSparseArray(args) | local modules = m_TableTools.compressSparseArray(args) | ||
local box = p.renderBox(modules) | local box = p.renderBox(modules) | ||
return box | |||
return box | |||
end | end | ||
function p.renderBox(modules) | function p.renderBox(modules) | ||
local boxArgs = {} | local boxArgs = {} | ||
if #modules < 1 and mw.title.getCurrentTitle().nsText == "Template" then | |||
table.insert(modules, "lua banner") | |||
end | |||
if #modules < 1 then | if #modules < 1 then | ||
boxArgs.text = '<strong class="error">Error: no modules specified</strong>' | boxArgs.text = '<strong class="error">Error: no modules specified</strong>' | ||
else | else | ||
local moduleLinks = {} | local moduleLinks = {} | ||
local withns | |||
for i, module in ipairs(modules) do | for i, module in ipairs(modules) do | ||
moduleLinks[i] = string.format('[[:%s]]', module) | withns = mw.ustring.match(module, "^[mM]odule:") | ||
moduleLinks[i] = string.format('[[:%s]]', (withns and '' or 'Module:') .. module) | |||
local maybeSandbox = mw.title.new(module .. '/sandbox') | local maybeSandbox = mw.title.new(module .. '/sandbox') | ||
if maybeSandbox.exists then | if maybeSandbox.exists then | ||
| Line 47: | Line 52: | ||
boxArgs.text = 'This module depends on the following other modules:' .. moduleList | boxArgs.text = 'This module depends on the following other modules:' .. moduleList | ||
else | else | ||
boxArgs.text = 'This template uses [[Wikipedia:Lua|Lua]]:\n' .. moduleList | boxArgs.text = 'This template uses [[w:Wikipedia:Lua|Lua]]:\n' .. moduleList | ||
end | end | ||
end | end | ||
| Line 54: | Line 59: | ||
boxArgs.image = '[[File:Lua-logo-nolabel.svg|30px|alt=|link=]]' | boxArgs.image = '[[File:Lua-logo-nolabel.svg|30px|alt=|link=]]' | ||
return m_MessageBox.main('mbox', boxArgs) | return m_MessageBox.main('mbox', boxArgs) | ||
end | end | ||
return p | return p | ||