
<div id="primaryLinks">
	<h3>Primary Links</h3>
	<ul>
		<li>
			<a id="buttonDownload" href="downloads" title="Download">
				<strong>Download</strong> Eclipse Distribution, Update Site, Dropins
			</a>
		</li>
		<li>
			<a id="buttonSupport" href="support" title="Support">
				<strong>Support</strong> Documentation, Newsgroup, Videos
			</a>
		</li>
		<li>
			<a id="buttonInvolved" href="developers" title="Getting Involved">
				<strong>Getting Involved</strong> Git, Workspace Setup, Wiki, Committers
			</a>
		</li>
	</ul>
</div>

<div id="midcolumnhome">
	<h3>Acceleo - transforming models into code</h3>
	<div id="introText">
		<p class="left">
			<a href="http://wiki.eclipse.org/Acceleo">Acceleo</a> is a pragmatic implementation of the
			<a href="http://www.omg.org/">Object Management Group (OMG)</a> <a href="http://www.omg.org/spec/MOFM2T/1.0/">
			MOF Model to Text Language (MTL)</a> standard. You do not need to be an expert to start using the
			plug-ins and create your first code generator : using the provided example projects and the powerful
			completion feature of the Acceleo editor, it is very easy to get started and understand the basic principles.
		</p>
		<p class="right">
			Acceleo is the result of several man-years of R&D started in the French company Obeo. Junction between the
			OMG MTL standard, its team's experience with industrial code generation and the latest research advances into
			the M2T field, it offers outstanding advantages : High ability to customize, Interoperability, Easy kick off,
			Traceability Management, and many more!
		</p>
	</div>

	<div id="screencast">
		<a href="http://www.obeo.fr/videos/acceleo-eclipse/eclipse-modeling-runaway-acceleo.htm" title="See Acceleo in action" rel="nofollow">
		<div class="prezi-player">
			<style type="text/css" media="screen">
				.prezi-player { width: 640px; }
				.prezi-player-links { text-align: center; }
			</style>
			<object id="prezi_xpdkccxjlj-e" name="prezi_xpdkccxjlj-e" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="640" height="480">
				<param name="movie" value="http://prezi.com/bin/preziloader.swf"/>
				<param name="allowfullscreen" value="true"/>
				<param name="allowscriptaccess" value="always"/>
				<param name="bgcolor" value="#ffffff"/>
				<param name="flashvars" value="prezi_id=xpdkccxjlj-e&amp;lock_to_path=0&amp;color=ffffff&amp;autoplay=yes&amp;autohide_ctrls=1"/>
				<embed id="preziEmbed_xpdkccxjlj-e" name="preziEmbed_xpdkccxjlj-e" src="http://prezi.com/bin/preziloader.swf" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="640" height="480" bgcolor="#ffffff" flashvars="prezi_id=xpdkccxjlj-e&amp;lock_to_path=0&amp;color=ffffff&amp;autoplay=no&amp;autohide_ctrls=0"></embed>
			</object>
			<div class="prezi-player-links">
				<p>
					<a title="Acceleo at the Eclipse-OMG Workshop" href="http://prezi.com/xpdkccxjlj-e/acceleo-at-the-eclipse-omg-workshop/">Acceleo at the Eclipse-OMG Workshop 2012</a>
				</p>
			</div>
		</div>
	</div>

	<h3>From Acceleo.org to Eclipse.org </h3>
	<div id="introText">
		<p class="left">
			The <a href="http://acceleo.org/pages/home">Acceleo</a> project was started 4 years ago. Over the years, it
			steadily grew from its first stable release up to its 2.x versions. Yet, the team has been more and more
			convinced that the future of code generation lied in the OMG
			<a href="http://www.omg.org/spec/MOFM2T/1.0/">MTL</a> specification, and that it was the way to go for the
			project.
		</p>
		<p class="right">
			The reference implementation we provide within the Eclipse M2T project, Acceleo 3, combines nice tooling,
			simple syntax and efficient code generation with all the pragmatism we had with the 2.x stream.
		</p>
	</div>

	<div id="feature">
		<h4>User Experience</h4>
		<p>
			The Acceleo generation module Editor supports the user with most of the features you would expect from modern
			IDEs : content assist, quick outline, navigation links to the declaration of model elements, template elements
			and variables, quick fixes, refactoring, syntax highlighting, occurences highlighting... and so much more!
		</p>
	</div>


	<div id="feature_discovery">
		<h4>Discovering features...</h4>
		<p>
			Read the <a href="/acceleo/documentation">documentation</a>, join the discussion at the
			<a href="http://www.eclipse.org/forums/index.php?t=thread&frm_id=24&" rel="nofollow">newsgroup</a>, or get in touch with
			the team on <a href="https://twitter.com/#!/acceleo">Twitter</a> or <a href="https://plus.google.com/b/114651471803085159652/" rel="publisher">Google+</a>.
		</p>
	</div>
	
	<div id="acceleoInAction">
		<h4>See it in action !</h4>
		<p>
			<a href="http://www.obeo.fr/videos/acceleo-eclipse/eclipse-modeling-runaway-acceleo.htm" rel="nofollow">
			Acceleo used to create an Android application</a><br/>
			<a href="http://literate.modeling.free.fr/modeling/acceleo/06-acceleo-editor-features.htm" rel="nofollow">
			The Acceleo generation modules editor</a><br/>
			<a href="http://live.eclipse.org/node/926">Helios In Action: Modeling</a>. Modeling components in Helios.<br/>
			Take a look at the <a href="http://wiki.eclipse.org/Acceleo/Demonstrations">wiki page</a> for more !
		</p>
	</div>
</div>

<div id="rightcolumn">
	<div class="sideitem" id="obeo">
		<a href="http://www.obeo.fr" title="Main Obeo website"><img src="images/logo/logo_obeo.png"/></a>
	</div>
	
	<div class="sideitem maintenance">
		<a id="maintenanceLink" href="http://acceleo.org/pages/home" title="Maintenance 2.x stream website" rel="nofollow">
		2.x legacy stream website</a>
	</div>

	<div class="sideitem">
		<h6>Project Summary</h6>
		<div class="modal">
			<p>
				Read more <a href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.m2t.acceleo">about
				this project</a> and get all useful information and links about it in a nutshell.
			</p>
		</div>
	</div>
	
	<div class="sideitem">
		<h6><a href="awards">Awards</a></h6>
		<div class="modal">
			<br />
			<div id="OWFInnovationAward"><a href="awards"></a></div>
			<br />
			<div id="olderNews"><a href="awards">See more...</a></div>
		</div>
	</div>

	<div class="sideitem">
		<script src="http://widgets.twimg.com/j/2/widget.js"></script>
		<script>
			new TWTR.Widget({
				version: 2,
				type: 'profile',
				rpp: 8,
				interval: 6000,
				width: 260,
				height: 300,
				theme: {
					shell: {
						background: '#e8e7dd',
						color: '#000000'
					},
					tweets: {
						background: '#FFFFFF',
						color: '#000000',
					}
				},
				features: {
					scrollbar: true,
					loop: false,
					live: true,
					hashtags: true,
					timestamp: true,
					avatars: true,
					behavior: 'all'
				}
			}).render().setUser('acceleo').start();
		</script>
	</div>

	<div class="sideitem">
%%HEADLINES%%
	</div>
</div>
