<?php
/**
 * Copyright (c) 2014, 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:
 *    Denis Roy (Eclipse Foundation) - initial API and implementation
 *    Christopher Guindon (Eclipse Foundation)
 *
 * SPDX-License-Identifier: EPL-2.0
 */
?>
<h1><?php print $pageTitle; ?></h1>
<h2>Current releases</h2>
<ul class="fa-ul">
  <li><a href="http://help.eclipse.org/2020-12/index.jsp"><i class="fa fa-globe"></i> Eclipse IDE 2020-12 (4.18) Documentation</a> (HTML Help Center)</li>
</ul>
<h2>Older releases</h2>
<ul class="fa-ul">
  <li><a href="http://help.eclipse.org/2020-09/index.jsp"><i class="fa fa-globe"></i> Eclipse IDE 2020-09 (4.17) Documentation</a> (HTML Help Center)</li>
  <li><a href="http://help.eclipse.org/2020-06/index.jsp"><i class="fa fa-globe"></i> Eclipse IDE 2020-06 (4.16) Documentation</a> (HTML Help Center)</li>
  <li><a href="http://help.eclipse.org/2020-03/index.jsp"><i class="fa fa-globe"></i> Eclipse IDE 2020-03 (4.15) Documentation</a> (HTML Help Center)</li>
  <li><a href="http://help.eclipse.org/2019-12/index.jsp"><i class="fa fa-globe"></i> Eclipse IDE 2019-12 (4.14) Documentation</a> (HTML Help Center)</li>
  <li><a href="http://help.eclipse.org/2019-09/index.jsp"><i class="fa fa-globe"></i> Eclipse IDE 2019-09 (4.13) Documentation</a> (HTML Help Center)</li>
</ul>

<p>For even older releases (Photon, Oxygen, Neon, etc), please download the corresponding Eclipse SDK or any EPP package and start the Information center locally as described here:</p>
<ul class="fa-ul">
  <li><a href="https://archive.eclipse.org/eclipse/downloads/"><i class="fa fa-globe"></i> Eclipse project archived downloads</a></li>
  <li><a href="https://www.eclipse.org/downloads/packages/release/"><i class="fa fa-globe"></i> Eclipse Packaging Project (EPP) Releases</a></li>
  <li><a href="https://help.eclipse.org/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide%2Fua_help_setup_infocenter.htm"><i class="fa fa-globe"></i> How to start or stop information center from command line</a></li>
</ul>


