<!DOCTYPE html>
<html lang="en">
<!--
/********************************************************************************
** Copyright (c) 2012 Obeo.
** 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://www.eclipse.org/legal/epl-v10.html
**
** Contributors:
**    Stephane Begaudeau (Obeo) - initial API and implementation
*********************************************************************************/
-->
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="description" content="">
    <meta name="author" content="St&eacute;phane B&eacute;gaudeau">    

    <!-- IE6-8 support of HTML elements -->
    <!--[if lt IE 9]>
      <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
    
    <link href="../assets/css/bootstrap.css" rel="stylesheet">
    <link href="../assets/css/docs.css" rel="stylesheet">
    
    <title>Acceleo</title>
  </head>
  <body>
    <div class="container">
      <div class="jumbotron masthead">
        <h1>Acceleo</h1>
        <p>Code generation based on the OMG's MOFM2T standard</p>
        <p class="download-info">
          <a href="http://www.eclipse.org/acceleo" class="btn btn-primary btn-large">View on Eclipse.org</a>
          <a href="http://marketplace.eclipse.org/search/apachesolr_search/acceleo" class="btn btn-large">Eclipse Marketplace</a>
        </p>

        <ul class="quick-links">
          <li><a href="overview.html#install">Install instructions</a></li>
          <li><a href="whatsnew/index.html">What's new</a></li>
        </ul>
      </div>
      
      <div class="marketing">
        <h1>Generate anything from any EMF based models</h1>
        <div class="row">
          <div class="span4">
            <img class="bs-icon" src="../assets/img/glyphicons/glyphicons_051_eye_open.png">
            <h2>Open Source</h2>
            <p>
              Acceleo is an open source code generator developed inside of the Eclipse Foundation. As such, you can
              use it freely, fork it and even contribute back.
            </p>
          </div>
          <div class="span4">
            <img class="bs-icon" src="../assets/img/glyphicons/glyphicons_050_link.png">
            <h2>Integrated in Eclipse</h2>
            <p>
              Acceleo is deeply integrated in the Eclipse IDE with a full fledged editor with syntax highlighting,
              real time error detection, quick fixes, refactoring and much more. It also comes with dedicated views
              to help you navigate within your code generator and quickly access code generation design patterns.
            </p>
          </div>
          <div class="span4">
            <img class="bs-icon" src="../assets/img/glyphicons/glyphicons_242_google_maps.png">
            <h2>Traceability</h2>
            <p>
              With code generator, it is easy to get lost in the generated code, in order to handle this problem,
              Acceleo features a Traceability engine to let you find you easily which model elements and which part
              of your generator have been used to generate any piece of code.
            </p>
          </div>
        </div><!--/row-->
        
        <div class="row">
          <div class="span4">
            <img class="bs-icon" src="../assets/img/glyphicons/glyphicons_204_unlock.png">
            <h2>Stand Alone</h2>
            <p>
              Acceleo does not lock you inside of the Eclipse environment, as such you can build and
              run your generator easily out of Eclipse. Acceleo provides a brand new Maven integration.
            </p>
          </div>
          <div class="span4">
            <img class="bs-icon" src="../assets/img/glyphicons/glyphicons_019_cogwheel.png">
            <h2>Versatile</h2>
            <p>
              Code generators are often limited to a set of technologies. With its template based approach,
              Acceleo can generate code for any kind of languages. If you can write it, Acceleo can generate it.
            </p>
          </div>
          <div class="span4">
            <img class="bs-icon" src="../assets/img/glyphicons/glyphicons_081_refresh.png">
            <h2>Incremental Generation</h2>
            <p>
              Whether you are considering it or not, you will one day have to modify manually your generated code
              and you want to keep your modification even if you are regenerating your code. Acceleo lets you define
              protected areas in which you can safely modify the generated. 
            </p>
          </div>
        </div><!--/row-->
        
        <h3>
          Jump in with <a href="gettingstarted/index.html">the tutorial</a> and <a href="features/index.html">the list of all the features</a>.
        </h3>
        <br />
        <br />
      </div>
      
      <footer class="footer">
        <p>
          The material in these guides are Copyright (c) 2008, 2012 Obeo. This material is available under the Eclipse Public License v1.0
        </p>
      </footer>
    </div>
  </body>
</html>
