<?php
/**
 * Copyright (c) 2005, 2018 Eclipse Foundation.
 *
 * This program and the accompanying materials are made
 * available under the terms of the Eclipse Public License 2.0
 * which is available at https://www.eclipse.org/legal/epl-2.0/
 *
 * Contributors:
 * Eric Poirier (Eclipse Foundation)
 */

// 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/
$theme = NULL;

// Define your project-wide Nav bars here.
// Format is Link text, link URL (can be http://www.someothersite.com/), target
// (_self, _blank)
$Nav->addNavSeparator("About Us", "/org/");
$Nav->addCustomNav("Annual Report", "/org/foundation/reports/annual_report.php", "_self", 1);
$Nav->addCustomNav("Foundation", "/org/foundation/", "_self", 1);
$Nav->addCustomNav("Governance", "/org/documents/", "_self", 1);
$Nav->addCustomNav("Legal Resources", "/legal/", "_self", 1);
$Nav->addCustomNav("Contact Us", "/org/foundation/contact.php", "_self", 1);
