Menyunting Modul:Lua banner

Loncat ke navigasi Loncat ke pencarian
Peringatan: Anda sedang tidak masuk log. Alamat IP Anda akan terlihat oleh publik jika Anda melakukan suatu perubahan. Jika Anda masuk log atau membuat akun, suntingan Anda akan diatribusikan kepada nama pengguna Anda, beserta berbagai keuntungan lainnya.

Suntingan ini dapat dibalikkan. Harap periksa perbandingan di bawah ini untuk meyakinkan bahwa benar tindakan itu yang ingin Anda lakukan, lalu terbitkan perubahan tersebut untuk menyelesaikan pembalikan suntingan.

Revisi terkini Teks Anda
Baris 1: Baris 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')
local mTableTools = require('Module:TableTools')
local mTableTools = require('Module:TableTools')
local mMessageBox = require('Module:Message box')
local mMessageBox = require('Module:Message box')
local TNT = require('Module:TNT')


local p = {}
local p = {}
local function format(msg)
return TNT.format('I18n/Lua banner', msg)
end
local function getConfig()
return mw.loadData('Module:Lua banner/config')
end


function p.main(frame)
function p.main(frame)
Baris 19: Baris 29:
end
end


function p._main(args)
function p._main(args, cfg)
local modules = mTableTools.compressSparseArray(args)
local modules = mTableTools.compressSparseArray(args)
local box = p.renderBox(modules)
local box = p.renderBox(modules, cfg, args)
local trackingCategories = p.renderTrackingCategories(args, modules)
local trackingCategories = p.renderTrackingCategories(args, modules, nil, cfg)
return box .. trackingCategories
return box .. trackingCategories
end
end


function p.renderBox(modules)
function p.renderBox(modules, cfg, args)
local boxArgs = {}
local boxArgs = {}
if #modules < 1 then
if #modules < 1 then
boxArgs.text = '<strong class="error">Galat: tidak ditemukan modul yang dimaksud</strong>'
cfg = cfg or getConfig()
if cfg['allow_wishes'] or yesno(args and args.wish) then
boxArgs.text = format('wishtext')
else
boxArgs.text = string.format('<strong class="error">%s</strong>', format('error_emptylist'))
end
else
else
local moduleLinks = {}
local moduleLinks = {}
Baris 36: Baris 51:
end
end
local moduleList = mList.makeList('bulleted', moduleLinks)
local moduleList = mList.makeList('bulleted', moduleLinks)
boxArgs.text =  
boxArgs.text = format('header') .. '\n' .. moduleList
(mw.title.getCurrentTitle():inNamespaces(828,829) and 'Modul' or 'Templat') ..
' ini menggunakan [[Wikipedia:Lua|Lua]]:\n' .. moduleList
end
end
boxArgs.type = 'notice'
boxArgs.type = 'notice'
boxArgs.small = true
boxArgs.small = true
boxArgs.image = '[[Berkas:Lua-logo-nolabel.svg|30px|alt=|link=]]'
boxArgs.image = string.format(
'[[File:Lua-logo-nolabel.svg|30px|alt=%s|link=%s]]',
format('logo_alt'),
format('logo_link')
)
return mMessageBox.main('mbox', boxArgs)
return mMessageBox.main('mbox', boxArgs)
end
end


function p.renderTrackingCategories(args, modules, titleObj)
function p.renderTrackingCategories(args, modules, titleObj, cfg)
if yesno(args.nocat) then
if yesno(args.nocat) then
return ''
return ''
end
end
cfg = cfg or getConfig()
local cats = {}
local cats = {}
-- Error category
-- Error category
if #modules < 1 then
if #modules < 1 and not (cfg['allow_wishes'] or yesno(args.wish)) and cfg['error_category'] then
cats[#cats + 1] = 'Templat Lua dengan kesalahan'
cats[#cats + 1] = cfg['error_category']
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 subpageBlacklist[titleObj.subpageText]
and not cfg['subpage_blacklist'][titleObj.subpageText]
then
then
local category = args.category
local category = args.category
if not category then
if not category then
local categories = {
local pagename = modules[1] and mw.title.new(modules[1])
['Module:String'] = 'Templat Lua berbasis String',
category = pagename and cfg['module_categories'][pagename.text]
['Module:Math'] = 'Templat berbasis modul Lua Math',
if not category then
['Module:BaseConvert'] = 'Templat berbasis modul Lua BaseConvert',
if (cfg['allow_wishes'] or yesno(args.wish)) and #modules < 1 then
['Module:Citation'] = 'Templat kutipan berbasis Lua'
category = cfg['wish_category']
}
else
categories['Module:Citation/CS1'] = categories['Module:Citation']
category = cfg['default_category']
category = modules[1] and categories[modules[1]]
end
category = category or 'Templat berbasis Lua'
end
end
end
cats[#cats + 1] = category
if category then
local protLevels = {
cats[#cats + 1] = category
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] = "Templat yang menggunakan modul Lua kurang terlindungi"
break
end
end
end
end
end
for i, cat in ipairs(cats) do
for i, cat in ipairs(cats) do
cats[i] = string.format('[[Kategori:%s]]', cat)
cats[i] = string.format('[[Category:%s]]', cat)
end
end
return table.concat(cats)
return table.concat(cats)
Perhatikan bahwa semua kontribusi terhadap Wiki Javasatu dapat disunting, diubah, atau dihapus oleh penyumbang lainnya. Jika Anda tidak ingin tulisan Anda disunting orang lain, jangan kirimkan ke sini.
Anda juga berjanji bahwa ini adalah hasil karya Anda sendiri, atau disalin dari sumber milik umum atau sumber bebas yang lain (lihat Javasatu:Hak cipta untuk informasi lebih lanjut). JANGAN KIRIMKAN KARYA YANG DILINDUNGI HAK CIPTA TANPA IZIN!
Batalkan Bantuan penyuntingan (buka di jendela baru)
Pratayang halaman dengan templat ini

Templat yang digunakan di halaman ini: