Module:Navboxes: Difference between revisions

From The Global Wiki
Jump to navigation Jump to search
en>Ahecht
(support direct invocation)
m (1 revision imported)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
-- This implements Template:navboxes
{{#if:{{{list1|{{{list|}}}}}}|{{#invoke:navboxes|top}}
local p = {}
{{{list1|{{{list|}}}}}}{{#invoke:navboxes|bottom}}|{{main other|[[Category:Navboxes template with no content]]}}}}{{#invoke:Check for unknown parameters|check|unknown={{main other|[[Category:Pages using navboxes with unknown parameters|_VALUE_{{PAGENAME}}]]}}|preview=Page using [[Template:Navboxes]] with unknown parameter "_VALUE_"|ignoreblank=y| bg | bordercolor | fg | list | list1 | state | title | titlestyle }}<noinclude>
 
{{documentation}}
local getArgs = require('Module:Arguments').getArgs
</noinclude>
local Navbox = require('Module:Navbox')
 
local function isnotempty(s)
return s and s:match( '^%s*(.-)%s*$' ) ~= ''
end
 
local function navboxes(args, list)
local navbar = (args['state'] and args['state'] == 'off') and 'off' or 'plain'
local title = args['title'] or 'Links to related articles'
local titlestyle = 'background:' .. (args['bg'] or '#e8e8ff') .. ';'
.. (isnotempty(args['fg']) and ('color:' .. args['fg'] .. ';') or '')
.. (isnotempty(args['bordercolor']) and ('border: 1px solid ' .. args['bordercolor'] .. ';') or '')
.. (args['titlestyle'] or '')
return Navbox._navbox({
navbar = navbar, title = title,
list1 = list,
state = args['state'] or 'collapsed',
titlestyle = titlestyle,
liststyle = 'font-size:114%',
listpadding = '0px',
tracking = 'no'
})
end
 
function p.top(frame)
local args = getArgs(frame)
local parts = mw.text.split(navboxes(args, '<ADD LIST HERE>'), '<ADD LIST HERE>')
return parts[1]
end
 
function p.bottom(frame)
local args = {}
local parts = mw.text.split(navboxes(args, '<ADD LIST HERE>'), '<ADD LIST HERE>')
return parts[2]
end
 
function p.navbox(frame)
local args = getArgs(frame)
local list = args['list1'] or args['list'] or ''
local track_cats = ''
if list == '' then
if mw.title.getCurrentTitle().namespace == 0 then
track_cats = '[[Category:Navboxes template with no content]]'
end
end
return navboxes(args, list) .. track_cats
end
 
return p

Latest revision as of 02:17, 18 January 2023