<?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 = "Nova";

	# 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)
	
	$Nav->setLinkList(array());
	
	# these are optional
	
	$homeurl = '/dltk';
	
	$Nav->addCustomNav("About This Project", "/projects/project_summary.php?projectid=technology.dltk", "", 1  );

	$Nav->addNavSeparator("DLTK", "$homeurl/");
	# $Nav->addCustomNav("Team", "$homeurl/team.php", "_self", 2);
	# $Nav->addCustomNav("Plan", "http://wiki.eclipse.org/DLTK_0.95_Project_Plan", "_self", 2);
	
	#$Nav->addNavSeparator("Users", "$homeurl/users.php", "_self", 1);
	$Nav->addCustomNav("Installation", "$homeurl/install.php", "_self", 2);
	$Nav->addCustomNav("Downloads", "http://download.eclipse.org/technology/dltk/downloads/", "_self", 2);
	$Nav->addCustomNav("Sources", "$homeurl/sources.php", "_self", 2);
	$Nav->addCustomNav("Project Plan", "/projects/project-plan.php?projectid=technology.dltk", "_self", 2);
	$Nav->addCustomNav("Wiki", "http://wiki.eclipse.org/DLTK", "_self", 2);
	//http://dev.eclipse.org/newslists/news.eclipse.technology.dltk/maillist.html
	$Nav->addCustomNav("Community Forum", "http://www.eclipse.org/forums/index.php?t=thread&amp;frm_id=47", "_self", 2);
	$Nav->addCustomNav("Mailing List", "https://dev.eclipse.org/mailman/listinfo/dltk-dev", "_self", 2);
	$Nav->addCustomNav("Open Bugs", "https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&amp;product=DLTK&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED", "_self", 2);
	$Nav->addCustomNav("Submit a Bug", "https://bugs.eclipse.org/bugs/enter_bug.cgi?product=DLTK", "_self", 2);
#	$Nav->addCustomNav("Submit a Feature Request", "https://bugs.eclipse.org/bugs/enter_bug.cgi?product=DLTK&bug_severity=enhancement", "_self", 2);
	$App->AddExtraHtmlHeader("<link rel=\"stylesheet\" type=\"text/css\" href=\"$homeurl/dltk.css\"/>\n");
?>
