Module:Navboxes: Difference between revisions

From Vigyanwiki
No edit summary
m (4 revisions imported from alpha:Module:Navboxes)
 
(3 intermediate revisions by one other user not shown)
Line 1: Line 1:
-- This implements Template:navboxes
-- This implements Template:navboxes
 
local p = {}


local getArgs = require('Module:Arguments').getArgs
local getArgs = require('Module:Arguments').getArgs
Line 45: Line 45:
if list == '' then
if list == '' then
if mw.title.getCurrentTitle().namespace == 0 then
if mw.title.getCurrentTitle().namespace == 0 then
track_cats = ''
track_cats = '[[Category:Navboxes template with no content]]'
end
end
end
end
Line 51: Line 51:
end
end


return p
return p[[Category: Templates Vigyan Ready]]

Latest revision as of 10:06, 11 June 2023

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

-- This implements Template:navboxes
local p = {}

local getArgs = require('Module:Arguments').getArgs
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[[Category: Templates Vigyan Ready]]