Modul:Navbar/bak pasir
Tampilan
![]() | Ini adalah halaman bak pasir modul untuk Modul:Navbar (beda). |
![]() | Modul Lua ini digunakan pada 835.000+ halaman, atau sekira 21% dari keseluruhan halaman halaman. Untuk mencegah suntingan mengganggu skala besar dan beban peladen, setiap perubahan harus diuji di subhalaman /bak pasir atau /kasus uji Modul:Navbar/bak pasir, atau bak pasir modul Anda. Perubahan yang telah diuji kemudian dapat ditambahkan ke halaman ini dalam satu suntingan. Pertimbangkan untuk mendiskusikan perubahan di halaman pembicaraan sebelum mengimplementasikannya. |
![]() | Modul Lua ini digunakan di pesan sistem. Perubahan pada templat atau modul ini dapat mengubah antarmuka pengguna Wikipedia secara serentak. Untuk mencegah suntingan mengganggu skala besar, setiap perubahan harus diuji di subhalaman /bak pasir atau /kasus uji Modul:Navbar/bak pasir, atau bak pasir modul Anda. Perubahan yang telah diuji kemudian dapat ditambahkan ke halaman ini dalam satu suntingan. Harap diskusikan perubahan di halaman pembicaraan sebelum mengimplementasikannya. |
![]() | Modul ini dilindungi. Modul ini sangat mencolok yang digunakan oleh banyak halaman, atau sangat sering disubstitusikan. Karena vandalisme atau kesalahan akan mempengaruhi banyak halaman, dan suntingan kecil dapat memberi beban besar pada server, modul ini dilindungi dari penyuntingan. |
![]() | Modul ini menggunakan Lua: |
![]() | Modul ini menggunakan TemplateStyles: |
Modul ini adalah implementasi Lua dari {{Navbar}}. Modul ini digunakan di Modul:Navbox.
local p = {}
local getArgs
local ul
function p.addItem (mini, full, link, descrip, args, url)
local l
if url then
l = {'[', '', ']'}
else
l = {'[[', '|', ']]'}
end
ul:tag('li')
:addClass('nv-'..full)
:wikitext(l[1] .. link .. l[2])
:tag(args.mini and 'abbr' or 'span')
:attr('title', descrip..' templat ini')
:cssText(args.fontstyle)
:wikitext(args.mini and mini or full)
:done()
:wikitext(l[3])
end
function p.brackets (position, c, args, div)
if args.brackets then
div
:tag('span')
:css('margin-'..position, '-0.125em')
:cssText(args.fontstyle)
:wikitext(c)
end
end
function p._navbar(args)
local show = {true, true, true, false, false, false}
local titleArg = 1
if args.collapsible then
titleArg = 2
if not args.plain then args.mini = 1 end
if args.fontcolor then
args.fontstyle = 'color:' .. args.fontcolor .. ';'
end
args.style = 'float:left; text-align:left'
end
if args.template then
titleArg = 'template'
show = {true, false, false, false, false, false}
local index = {t = 2, d = 2, e = 3, h = 4, m = 5, w = 6, talk = 2, edit = 3, hist = 4, move = 5, watch = 6}
for k,v in ipairs(require ('Modul:TableTools').compressSparseArray(args)) do
local num = index[v]
if num then show[num] = true end
end
end
if args.noedit then show[3] = false end
local titleText = args[titleArg] or (':' .. mw.getCurrentFrame():getParent():getTitle())
local title = mw.title.new(mw.text.trim(titleText), 'Templat')
if not title then
error('Judul tidak valid ' .. titleText)
end
local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or ''
local div = mw.html.create():tag('div')
div
:addClass('plainlinks')
:addClass('hlist')
:addClass('navbar')
:cssText(args.style)
if args.mini then div:addClass('mini') end
if not (args.mini or args.plain) then
div
:tag('span')
:css('word-spacing', 0)
:cssText(args.fontstyle)
:wikitext(args.text or 'Kotak ini:')
:wikitext(' ')
end
p.brackets('right', '[ ', args, div)
ul = div:tag('ul')
if show[1] then p.addItem('l', 'lihat', title.fullText, 'Lihat', args) end
if show[2] then p.addItem('b', 'bicara', talkpage, 'Diskusikan', args) end
if show[3] then p.addItem('s', 'sunting', title:fullUrl('action=edit'), 'Sunting', args, true) end
if show[4] then p.addItem('v', 'versi', title:fullUrl('action=history'), 'Versi terdahulu', args, true) end
if show[5] then
local move = mw.title.new ('Istimewa:Pindahkan halaman')
p.addItem('p', 'pindahkan', move:fullUrl('target='..title.fullText), 'Pindahkan', args, true) end
if show[6] then p.addItem('pa', 'pantau', title:fullUrl('action=watch'), 'Pantau', args, true) end
p.brackets('left', ' ]', args, div)
if args.collapsible then
div
:done()
:tag('div')
:css('font-size', '114%')
:css('margin', args.mini and '0 4em' or '0 7em')
:cssText(args.fontstyle)
:wikitext(args[1])
end
return tostring(div:done())
end
function p.navbar(frame)
if not getArgs then
getArgs = require('Modul:Arguments').getArgs
end
return p._navbar(getArgs(frame))
end
return p