Both the Screamercord and this very wiki are currently listed as adult websites by AI classification models. We are currently working to remedy this, 2026 is not 2019.
In the meantime, you can help by moving all permalinks to IPFS
Module:Navbar: Difference between revisions
Jump to navigation
Jump to search
add templatestyles for hlist |
m 1 revision imported: important template |
||
| (One intermediate revision by one other user not shown) | |||
| Line 1: | Line 1: | ||
local p = {} | local p = {} | ||
local | local getArgs | ||
local ul | |||
function p.addItem (mini, full, link, descrip, args, url) | |||
local l | local l | ||
if | if url then | ||
l = {'[', '', ']'} | l = {'[', '', ']'} | ||
else | else | ||
| Line 41: | Line 12: | ||
end | end | ||
ul:tag('li') | ul:tag('li') | ||
:addClass('nv-' . | :addClass('nv-'..full) | ||
:wikitext(l[1] . | :wikitext(l[1] .. link .. l[2]) | ||
:tag( | :tag(args.mini and 'abbr' or 'span') | ||
:attr('title', | :attr('title', descrip..' this template') | ||
:cssText( | :cssText(args.fontstyle) | ||
:wikitext( | :wikitext(args.mini and mini or full) | ||
:done() | :done() | ||
:wikitext(l[3]) | :wikitext(l[3]) | ||
end | 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 | ||
local | 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 | end | ||
for | 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 ('Module:TableTools').compressSparseArray(args)) do | |||
local num = index[v] | |||
if num then show[num] = true end | |||
end | |||
end | end | ||
end | if args.noedit then show[3] = false end | ||
local titleText = args[titleArg] or (':' .. mw.getCurrentFrame():getParent():getTitle()) | |||
local | local title = mw.title.new(mw.text.trim(titleText), 'Template') | ||
if not title then | |||
error('Invalid title ' .. titleText) | |||
end | end | ||
local talkpage = title.talkPageTitle and title.talkPageTitle.fullText or '' | |||
local div = mw.html.create():tag('div') | local div = mw.html.create():tag('div') | ||
div | div | ||
:addClass( | :addClass('plainlinks') | ||
:addClass('hlist') | |||
:addClass( | :addClass('navbar') | ||
:addClass( | :cssText(args.style) | ||
:cssText( | |||
if | if args.mini then div:addClass('mini') end | ||
if not (args.mini or args.plain) then | |||
div | div | ||
:tag('span') | :tag('span') | ||
: | :css('word-spacing', 0) | ||
: | :cssText(args.fontstyle) | ||
:wikitext( | :wikitext(args.text or 'This box:') | ||
:wikitext(' ') | |||
end | end | ||
p.brackets('right', '[ ', args, div) | |||
ul = div:tag('ul') | |||
if show[1] then p.addItem('v', 'view', title.fullText, 'View', args) end | |||
if show[2] then p.addItem('t', 'talk', talkpage, 'Discuss', args) end | |||
local | if show[3] then p.addItem('e', 'edit', title:fullUrl('action=edit'), 'Edit', args, true) end | ||
if show[4] then p.addItem('h', 'hist', title:fullUrl('action=history'), 'History of', args, true) end | |||
if show[5] then | |||
local move = mw.title.new ('Special:Movepage') | |||
p.addItem('m', 'move', move:fullUrl('target='..title.fullText), 'Move', args, true) end | |||
if show[6] then p.addItem('w', 'watch', title:fullUrl('action=watch'), 'Watch', args, true) end | |||
p.brackets('left', ' ]', args, div) | |||
if args.collapsible then | |||
div | |||
: | :done() | ||
: | :tag('div') | ||
:cssText( | :css('font-size', '114%') | ||
:css('margin', args.mini and '0 4em' or '0 7em') | |||
:cssText(args.fontstyle) | |||
:wikitext(args[1]) | :wikitext(args[1]) | ||
end | end | ||
return tostring(div:done()) | |||
return | |||
end | end | ||
function p.navbar(frame) | function p.navbar(frame) | ||
if not getArgs then | |||
getArgs = require('Module:Arguments').getArgs | |||
end | |||
return p._navbar(getArgs(frame)) | |||
end | end | ||
return p | return p | ||
Latest revision as of 17:20, 2 October 2023
Script error: No such module "Message box". Script error: No such module "Message box".
This is a Lua implementation of {{Navbar}}. It is used in Module: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..' this template')
: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 ('Module: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), 'Template')
if not title then
error('Invalid title ' .. 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 'This box:')
:wikitext(' ')
end
p.brackets('right', '[ ', args, div)
ul = div:tag('ul')
if show[1] then p.addItem('v', 'view', title.fullText, 'View', args) end
if show[2] then p.addItem('t', 'talk', talkpage, 'Discuss', args) end
if show[3] then p.addItem('e', 'edit', title:fullUrl('action=edit'), 'Edit', args, true) end
if show[4] then p.addItem('h', 'hist', title:fullUrl('action=history'), 'History of', args, true) end
if show[5] then
local move = mw.title.new ('Special:Movepage')
p.addItem('m', 'move', move:fullUrl('target='..title.fullText), 'Move', args, true) end
if show[6] then p.addItem('w', 'watch', title:fullUrl('action=watch'), 'Watch', 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('Module:Arguments').getArgs
end
return p._navbar(getArgs(frame))
end
return p