<?php
/*******************************************************************************
 * Copyright (c) 2014, 2015, 2016 Eclipse Foundation and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *    Christopher Guindon (Eclipse Foundation) - Initial implementation
 *    Wayne Beaton (Eclipse Foundation) - Minor changes
 *******************************************************************************/
?>

<div class="timeline">
  <div class="row">

    <div class="col-md-6 one gs-item">
      <div class="circle">1</div>
      <h1 class="fw-600">Get Started</h1>
		<p>Download and install the Eclipse IDE.</p>
		<p><a href="/downloads/" class="btn btn-warning">Download Eclipse IDE</a></p>
    </div>

    <div class="col-md-6 two gs-item">
      <div class="circle">2</div>
      <h1>Extend Eclipse</h1>
      <p>Eclipse Marketplace is a great source of plug-ins and product that you can add to Eclipse.</p>
      <ul>
        <li>Browse the <a href="//marketplace.eclipse.org">online catalog</a></li>
        <li>Use the Eclipse Marketplace
        Client from within Eclipse: <code>Help&nbsp;&gt;&nbsp;Eclipse Marketplace&hellip;</code></li>
      </ul>
      <p>Popular Plugins: </p>
      <ul>
        <li><a href="http://marketplace.eclipse.org/content/subversive-svn-team-provider">Subversive - SVN Team Provider</a><br/>
          <div class="drag_installbutton">
            <a class="drag" href="http://marketplace.eclipse.org/marketplace-client-intro?mpc_install=1139">
              <img src="/eclipse.org-common/themes/solstice/public/images/components/drag-drop/installbutton.png"/>
              <div class="tooltip"><h3>Drag to Install!</h3>Drag to your running Eclipse workspace.</div>
            </a>
          </div>
        </li>
        <li><a href="http://marketplace.eclipse.org/content/eclipse-color-theme">Eclipse Color Theme</a><br/>
          <div class="drag_installbutton">
            <a class="drag" href="http://marketplace.eclipse.org/marketplace-client-intro?mpc_install=27025">
              <img src="/eclipse.org-common/themes/solstice/public/images/components/drag-drop/installbutton.png"/>
              <div class="tooltip"><h3>Drag to Install!</h3>Drag to your running Eclipse workspace.</div>
            </a>
          </div>
        </li>
        <li><a href="http://marketplace.eclipse.org/content/maven-integration-eclipse-juno-and-newer">Maven Integration for Eclipse</a><br/>
          <div class="drag_installbutton">
            <a class="drag" href="http://marketplace.eclipse.org/marketplace-client-intro?mpc_install=252">
              <img src="/eclipse.org-common/themes/solstice/public/images/components/drag-drop/installbutton.png"/>
              <div class="tooltip"><h3>Drag to Install!</h3>Drag to your running Eclipse workspace.</div>
            </a>
          </div>
        </li>
        <li><a href="http://marketplace.eclipse.org/content/pydev-python-ide-eclipse">PyDev</a><br/>
          <div class="drag_installbutton">
            <a class="drag" href="http://marketplace.eclipse.org/marketplace-client-intro?mpc_install=114">
              <img src="/eclipse.org-common/themes/solstice/public/images/components/drag-drop/installbutton.png"/>
              <div class="tooltip"><h3>Drag to Install!</h3>Drag to your running Eclipse workspace.</div>
            </a>
          </div>
        </li>
      </ul>
      <p><a href="//marketplace.eclipse.org" class="btn btn-info">Marketplace</a></p>
    </div>

    <div class="col-md-6 three gs-item">
      <div class="circle">3</div>
      <h1>Read Doc</h1>
      <p>Documentation is a great resource to get you started with the Eclipse IDE.</p>
      <ul>
        <li>Getting Started with the <a href="http://help.eclipse.org/oxygen/nav/0">Eclipse IDE User Guide</a></li>
        <li>Getting Started with <a href="http://help.eclipse.org/oxygen/nav/1">Java development</a></li>
        <li>All online <a href="http://help.eclipse.org/oxygen/index.jsp">Documentation</a></li>
        <li>What's new and noteworthy in <a href="/oxygen/noteworthy/">Eclipse Oxygen</a></li>
      </ul>
    </div>

    <div class="col-md-6 four gs-item">
      <div class="circle">4</div>
      <h1>Get Help</h1>
      <p>There are many sources of help in the Eclipse community and ecosystem.</p>
      <ul>
        <li>Ask questions on project <a href="https://www.eclipse.org/forums/">forums</a>; if you're not sure where to look, start with the <a href="http://www.eclipse.org/forums/index.php/f/89/">newcomer forum</a></li>
        <li>Open bug reports and feature requests in <a href="<?php print $bugzillaLink; ?>">Eclipse Bugzilla</a></li>
        <li>Connect live with project developers <a href="https://wiki.eclipse.org/IRC">via IRC</a></li>
        <li>Find companies that provide <a href="http://marketplace.eclipse.org/category/markets/training-consulting/title">training and consulting</a></li>
        <li>Investigate paid support options with <a href="http://lts.eclipse.org">Long Term Support</a>.</li>
      </ul>
    </div>

  </div>
</div>