跳转到内容

模組:Navboxes

维基百科,自由的百科全书

这是本页的一个历史版本,由Liuxinyu970226留言 | 贡献2022年9月3日 (六) 09:36编辑。这可能和当前版本存在着巨大的差异。

-- 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 = frame:getParent().args
	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 = frame:getParent().args
	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