<?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
# miasma
$theme = "Nova";
header("Content-type: text/html; charset=utf-8");
$App->AddExtraHtmlHeader("<link rel=\"stylesheet\" type=\"text/css\" href=\"/webtools/nova/wtpnova.css\" />\n");

# 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
#
# We have folding menus.  Second level (anything with a ... below) has a _projectCommon.php that overrides this one.
# It is up to you to keep all these files in sync.
$Nav->setLinkList(null);
$Nav->addCustomNav("About This Project", "/projects/project_summary.php?projectid=webtools.servertools", "", 1  );
$Nav->addNavSeparator("WTP Home", 	"/webtools/");
$Nav->addNavSeparator("WTP Server Tools", 	"/webtools/server/");
$Nav->addNavSeparator("Downloads", "http://download.eclipse.org/webtools/downloads/");
$Nav->addNavSeparator("Documentation", "/webtools/documentation/");
$Nav->addCustomNav("Project Plan", "http://www.eclipse.org/projects/project-plan.php?projectid=webtools.servertools", "_self", 2);
$Nav->addCustomNav("FAQ", "https://wiki.eclipse.org/WTP_FAQ", "_self", 2);
$Nav->addCustomNav("New and Noteworthy", "http://www.eclipse.org/webtools/development/news/", "_self", 2);
$Nav->addNavSeparator("Community", "/webtools/community/");
$Nav->addCustomNav("Adopters", "/webtools/adopters/", "_self", 2);
$Nav->addCustomNav("Wiki", "https://wiki.eclipse.org/Category:Eclipse_Web_Tools_Platform_Project", "_self", 2);
$Nav->addCustomNav("Newsgroup", "http://www.eclipse.org/newsportal/thread.php?group=eclipse.webtools", "_self", 2);
$Nav->addCustomNav("Mailing List", "http://dev.eclipse.org/mhonarc/lists/wtp-dev/", "_self", 2);
$Nav->addCustomNav("Show Open Bugs", "https://bugs.eclipse.org/bugs/report.cgi?x_axis_field=bug_severity&y_axis_field=component&z_axis_field=&query_format=report-table&short_desc_type=allwordssubstr&short_desc=&classification=WebTools&product=WTP+Server+Tools&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&format=table&action=wrap&field0-0-0=noop&type0-0-0=noop&value0-0-0=", "_self", 2);
$Nav->addCustomNav("Submit a Bug", "https://bugs.eclipse.org/bugs/enter_bug.cgi?product=WTP%20Server%20Tools", "_self", 2);
$Nav->addNavSeparator("Development", "/webtools/development/");
$Nav->addCustomNav("Status Meetings", "https://wiki.eclipse.org/WTP_Development_Status_Meetings", "_self", 2);


?>
