<?php

	# Set the theme for your project's web pages.
	# See the Committer Tools "How Do I" for list of themes
	# https://dev.eclipse.org/committers/
	# Optional: defaults to system theme 
	$theme = "";

	$Nav->setLinkList(null);

	# Define your project-wide Nav bars here.
	# Format is Link text, link URL (can be http://www.someothersite.com/), target (_self, _blank), level (1, 2 or 3)
	# these are optional
	# Adding Portal-based "About" information, to be "Standard left menu"-compliant (see http://www.eclipse.org/projects/dev_process/project-status-infrastructure/left-menu.php) :
	$Nav->addCustomNav( "Information about JWT", "/projects/project_summary.php?projectid=technology.jwt", "", 1  );
	# Adding JWT specific menus :
	$Nav->addNavSeparator("		Getting started", 	"/jwt/index.php");
	$Nav->addCustomNav("		About JWT", 		"/jwt/pages/about.php", "_self", 2);
	$Nav->addCustomNav("		FAQ", 				"http://wiki.eclipse.org/JWT_FAQ", "_self", 2);
	$Nav->addCustomNav("		Wiki", 				"http://wiki.eclipse.org/index.php/Java_Workflow_Toolbox_Project", "_self", 2);
	$Nav->addNavSeparator("		Downloads",			"/jwt/index.php");
	$Nav->addCustomNav("		All Downloads", 	"http://wiki.eclipse.org/JWT_Downloads", "_self", 2);
	$Nav->addCustomNav("		Source Code", 		"http://wiki.eclipse.org/JWT_CVS", "_self", 2);
	$Nav->addNavSeparator("		Development", 		"/jwt/index.php");
	$Nav->addCustomNav("		Team/Committers", 	"/jwt/pages/team.php", "_self", 2);
	$Nav->addCustomNav("		Newsgroup", 		"http://www.eclipse.org/newsportal/thread.php?group=eclipse.technology.jwt", "_self", 2);
	$Nav->addCustomNav("		Mailing list", 		"https://dev.eclipse.org/mailman/listinfo/jwt-dev", "_self", 2);
	$Nav->addCustomNav("		CVS Repository", 	"http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jwt/?root=Technology_Project", "_self", 2);

?>
