Difference between revisions of "Module:Navbar"

From Zero-K
Jump to navigation Jump to search
(Testing Lua)
 
(Removing test)
Line 1: Line 1:
−
local p = {}
 
  
−
local getArgs
 
−
 
−
function p._navbar(args)
 
−
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; width:6em;'
 
−
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
 
−
 
−
if args.brackets then
 
−
div
 
−
:tag('span')
 
−
:css('margin-right', '-0.125em')
 
−
:cssText(args.fontstyle)
 
−
:wikitext('[')
 
−
:newline();
 
−
end
 
−
 
−
local ul = div:tag('ul');
 
−
 
−
ul
 
−
:tag('li')
 
−
:addClass('nv-view')
 
−
:wikitext('[[' .. title.fullText .. '|')
 
−
:tag(args.mini and 'abbr' or 'span')
 
−
:attr('title', 'View this template')
 
−
:cssText(args.fontstyle)
 
−
:wikitext(args.mini and 'v' or 'view')
 
−
:done()
 
−
:wikitext(']]')
 
−
:done()
 
−
:tag('li')
 
−
:addClass('nv-talk')
 
−
:wikitext('[[' .. talkpage .. '|')
 
−
:tag(args.mini and 'abbr' or 'span')
 
−
:attr('title', 'Discuss this template')
 
−
:cssText(args.fontstyle)
 
−
:wikitext(args.mini and 't' or 'talk')
 
−
:done()
 
−
:wikitext(']]');
 
−
 
−
if not args.noedit then
 
−
ul
 
−
:tag('li')
 
−
:addClass('nv-edit')
 
−
:wikitext('[' .. title:fullUrl('action=edit') .. ' ')
 
−
:tag(args.mini and 'abbr' or 'span')
 
−
:attr('title', 'Edit this template')
 
−
:cssText(args.fontstyle)
 
−
:wikitext(args.mini and 'e' or 'edit')
 
−
:done()
 
−
:wikitext(']');
 
−
end
 
−
 
−
if args.brackets then
 
−
div
 
−
:tag('span')
 
−
:css('margin-left', '-0.125em')
 
−
:cssText(args.fontstyle)
 
−
:wikitext(']')
 
−
:newline();
 
−
end
 
−
 
−
if args.collapsible then
 
−
div
 
−
:done()
 
−
:tag('span')
 
−
:css('font-size', '110%')
 
−
: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
 

Revision as of 05:14, 25 June 2016

Documentation for this module may be created at Module:Navbar/doc

Script error: Lua error: Internal error: The interpreter exited with status 1.