「モジュール:Lua banner」の版間の差分
ナビゲーションに移動
検索に移動
Detect if on module page
temp>にょろん (「luaモジュール」と言葉はまだ普及しておらず「使用luaモジュール」では何を言ってるのかわからないので変更しました。使用しているluaモジュールでもいいのですが、luaモジュールを前面) |
userbox>Ahecht (Detect if on module page) |
||
1行目: | 1行目: | ||
-- {{lua}} | -- 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') | ||
30行目: | 29行目: | ||
local boxArgs = {} | local boxArgs = {} | ||
if #modules < 1 then | if #modules < 1 then | ||
boxArgs.text = '<strong class="error"> | boxArgs.text = '<strong class="error">Error: no modules specified</strong>' | ||
else | else | ||
local moduleLinks = {} | local moduleLinks = {} | ||
37行目: | 36行目: | ||
end | end | ||
local moduleList = mList.makeList('bulleted', moduleLinks) | local moduleList = mList.makeList('bulleted', moduleLinks) | ||
boxArgs.text = '[[Wikipedia:Lua|Lua]] | boxArgs.text = 'This ' .. | ||
(mw.title.getCurrentTitle():inNamespaces(828,829) and 'module' or 'template') .. | |||
' uses [[Wikipedia:Lua|Lua]]:\n' .. moduleList | |||
end | end | ||
boxArgs.type = 'notice' | boxArgs.type = 'notice' | ||
boxArgs.small = true | boxArgs.small = true | ||
boxArgs.image = '[[File:Lua-logo-nolabel.svg|30px|alt= | boxArgs.image = '[[File:Lua-logo-nolabel.svg|30px|alt=|link=]]' | ||
return mMessageBox.main('mbox', boxArgs) | return mMessageBox.main('mbox', boxArgs) | ||
end | end | ||
54行目: | 55行目: | ||
-- Error category | -- Error category | ||
if #modules < 1 then | if #modules < 1 then | ||
cats[#cats + 1] = '' | cats[#cats + 1] = 'Lua templates with errors' | ||
end | end | ||
70行目: | 71行目: | ||
local category = args.category | local category = args.category | ||
if not category then | if not category then | ||
local categories = { | local categories = { | ||
['Module:String'] = '', | ['Module:String'] = 'Lua String-based templates', | ||
['Module:Math'] = '', | ['Module:Math'] = 'Templates based on the Math Lua module', | ||
['Module:BaseConvert'] = '', | ['Module:BaseConvert'] = 'Templates based on the BaseConvert Lua module', | ||
['Module:Citation'] = '' | ['Module:Citation'] = 'Lua-based citation templates' | ||
} | } | ||
categories['Module:Citation/CS1'] = categories['Module:Citation'] | 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 ' | |||
end | end | ||
cats[#cats + 1] = category | cats[#cats + 1] = category | ||
local protLevels = { | |||
autoconfirmed = 1, | |||
extendedconfirmed = 2, | |||
templateeditor = 3, | |||
sysop = 4 | |||
} | |||
local currentProt = titleObj.protectionLevels["edit"][1] | |||
if currentProt == nil then currentProt = 0 else currentProt = protLevels[currentProt] end | |||
for i, module in ipairs(modules) do | |||
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] = "Templates using under-protected Lua modules" | |||
break | |||
end | |||
end | |||
end | end | ||