<?php
/**
 * Copyright (c) 2018 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();
include ($App->getProjectCommon());

$pageTitle = 'Eclipse IDE 2018-12';
$Theme->setPageKeywords("eclipse 2018-12, release, simultaneous, release train, 2018-12");
$Theme->setPageTitle($pageTitle);

// 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();
