<?php
/**
 * Copyright (c) 2019 Eclipse Foundation and others.
 *
 * 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:
 * Christopher Guindon (Eclipse Foundation) - Initial implementation
 *
 * SPDX-License-Identifier: EPL-2.0
 */

require_once (realpath(dirname(__FILE__) . "/../../../eclipse.org-common/system/app.class.php"));
$App = new App();

$pageTitle = 'New &amp; Noteworthy';

include ($App->getProjectCommon());

$Theme->setPageKeywords("eclipse 2019-03, release, simultaneous, release train, 2019-03");
$Theme->setPageTitle($pageTitle . ' | Eclipse IDE 2019-03');

// Place your html content in a file called content/en_pagename.php
ob_start();
include ("content/en_" . $App->getScriptName());
$html = ob_get_clean();

$Theme->setHtml($html);
$Theme->generatePage();
