diff --git a/.project b/.project
new file mode 100644
index 0000000..98f03ba
--- /dev/null
+++ b/.project
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>website</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+	</buildSpec>
+	<natures>
+	</natures>
+</projectDescription>
diff --git a/_index.html b/_index.html
new file mode 100644
index 0000000..9aeb3e3
--- /dev/null
+++ b/_index.html
@@ -0,0 +1,46 @@
+<div id="bigbuttons">
+<h3>Primary Links</h3>
+<ul>
+	<li><a id="buttonDownload" href="/ease/download/" title="Download">Eclipse
+	Distribution, Update Site, Dropins</a></li>
+	<li><a id="buttonDocumentation" href="/ease/documentation/"
+		title="Documentation">Tutorials, Examples, Videos, Reference Documentation</a></li>
+	<li><a id="buttonSupport" href="/ease/support/" title="Support">Bug
+	Tracker, Newsgroup, Support</a></li>
+	<li><a id="buttonInvolved" href="/ease/developers/" title="Getting Involved">Contributor Guide, Mailing Lists, Wiki</a></li>
+</ul>
+</div>
+
+<div id="midcolumn">
+
+<h3>EASE</h3>
+
+<!-- 
+<script type="text/javascript">
+          url_site = 'http://marketplace.eclipse.org/node/1336'
+        </script>
+        <script src="http://marketplace.eclipse.org/sites/all/modules/drigg_external/js/button.js" type="text/javascript"></script>
+ -->
+<br/>
+<a href="/projects.eclipse.org/projects/technology.ease">About This Project</a>
+
+<p>
+EASE is a scripting environment for Eclipse.<br/>
+It allows to create, maintain and execute script code in the context of the
+running Eclipse instance. 
+</p>
+
+<p>
+<!-- 
+ 	<img src="welcome.png" alt="EGit screenshot">
+ -->
+</p>
+</div>
+
+<div id="rightcolumn">
+	<h3>Committers</h3>
+		<ul>
+			<li>Christian Pontesegger</li>
+			<li>Arthur Daussy (OBEO)</li>
+		</ul>		
+</div>
diff --git a/_projectCommon.php b/_projectCommon.php
new file mode 100755
index 0000000..3841a6b
--- /dev/null
+++ b/_projectCommon.php
@@ -0,0 +1,35 @@
+<?php
+
+	# Set the theme for your project's web pages.
+	# See the Committer Tools "How Do I" for list of themes
+	# https://dev.eclipse.org/committers/
+	# Optional: defaults to system theme 
+	$theme = "solstice";
+	
+
+	# Define your project-wide Nav bars here.
+	# Format is Link text, link URL (can be http://www.someothersite.com/), target (_self, _blank), level (1, 2 or 3)
+	# these are optional
+	$Nav->setLinkList(array());
+	$Nav->addNavSeparator("EASE", 	"/ease/");
+	# $Nav->addCustomNav("Download", "/ease/download/", "_self", 3);
+	$Nav->addCustomNav("Documentation", "/ease/documentation/", "_self", 3);
+	$Nav->addCustomNav("Support", "/ease/support/", "_self", 3);
+	$Nav->addCustomNav("Getting Involved", "/ease/developers/", "_self", 3);
+	
+	$pageKeywords	= "eclipse, ease, scripting, javascript";
+	$pageAuthor		= "Christian Pontesegger";
+	$pageTitle 		= "EASE - Eclipse Advanced Scripting Environment";
+
+	$Menu->setMenuItemList(array());
+	$Menu->addMenuItem("Home", "/ease/", "_self");
+	# $Menu->addMenuItem("Download", "/aset/download/", "_self");
+	$Menu->addMenuItem("Documentation", "/ease/documentation/", "_self");
+	$Menu->addMenuItem("Support", "/ease/support/", "_self");
+	$Menu->addMenuItem("Developers", "/ease/developers/", "_self");
+	
+	$App->AddExtraHtmlHeader('<link rel="stylesheet" type="text/css" href="style.css"/>' . "\n\t");
+	$App->AddExtraHtmlHeader('<link rel="stylesheet" type="text/css" href="style2.css"/>' . "\n\t");
+	
+	$App->Promotion = TRUE;
+?>
diff --git a/description.html b/description.html
deleted file mode 100644
index 10edabc..0000000
--- a/description.html
+++ /dev/null
@@ -1 +0,0 @@
-This project was just provisioned, so there isn't much to see here. You can find links to the propsal on this page.  Stay tuned for great things. 
\ No newline at end of file
diff --git a/developers/_index.html b/developers/_index.html
new file mode 100644
index 0000000..7d24991
--- /dev/null
+++ b/developers/_index.html
@@ -0,0 +1,15 @@
+<ul>
+	<li><b><a href="http://wiki.eclipse.org/EGit/Contributor_Guide"
+		title="EGit Contributor Guide">EGit Contributor Guide</a></b> - How to contribute to the EGit project</li>
+	<li><b><a
+		href="https://dev.eclipse.org/mailman/listinfo/ease-dev"
+		title="ease-dev Mailing List"
+		rel="nofollow">Developer Mailing List</a></b> - Subscribe to the developer list.</li>
+	<li><b><a
+		href="https://dev.eclipse.org/mailman/listinfo/ease-build"
+		title="ease-build Mailing List"
+		rel="nofollow">Build Notices Mailing List</a></b> - Subscribe to the build notification list.</li>
+	<li><b><a href="http://www.ohloh.net/projects/ease"
+		class="external text"
+		rel="nofollow">EGit at ohloh.net</a></b> - Track the project!</li>
+</ul>
\ No newline at end of file
diff --git a/developers/index.php b/developers/index.php
new file mode 100644
index 0000000..9b48403
--- /dev/null
+++ b/developers/index.php
@@ -0,0 +1,10 @@
+<?php  																														require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); 	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); 	$App 	= new App();	$Nav	= new Nav();	$Menu 	= new Menu();		include($App->getProjectCommon());    # All on the same line to unclutter the user's desktop'
+	$pageTitle 		= "EGit - Contributing";
+
+	$html  = '<div id="midcolumn">';
+	$html .= file_get_contents('_index.html');
+	$html .= "</div>";
+	
+	# Generate the web page
+	$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
+?>
diff --git a/documentation/_index.html b/documentation/_index.html
new file mode 100644
index 0000000..74fdd9b
--- /dev/null
+++ b/documentation/_index.html
@@ -0,0 +1,15 @@
+<ul>
+	<li><b><a href="http://wiki.eclipse.org/EGit/User_Guide"
+		title="Getting started">User's Guide</a></b> - read our users guide to get started</li>
+	<li><b><a href="http://wiki.eclipse.org/EGit/Learning_Material"
+		title="Learning">Learning</a></b> - learn from presentations, examples and tutorials</li>
+	<li><b><a
+		href="http://www.eclipse.org/forums/index.php?t=thread&frm_id=48"
+		rel="nofollow">EGit Forums</a></b> - ask questions here if you need help!</li>
+	<li><b><a
+		href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;classification=Technology&amp;product=EGit&amp;long_desc_type=allwordssubstr&amp;long_desc=&amp;bug_file_loc_type=allwordssubstr&amp;bug_file_loc=&amp;status_whiteboard_type=allwordssubstr&amp;status_whiteboard=&amp;keywords_type=allwords&amp;keywords=&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;emailtype1=exact&amp;email1=&amp;emailtype2=substring&amp;email2=&amp;bugidtype=include&amp;bug_id=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;cmdtype=doit&amp;order=Reuse+same+sort+as+last+time&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0="
+		rel="nofollow">EGit Bugzilla</a></b> - review and create Bugzilla entries</li>
+	<li><b><a
+		href="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=EGit&amp;rep_platform=All&amp;op_sys=All"
+		rel="nofollow">File a bug</a></b> - file bugs and feature requests</li>
+</ul>
diff --git a/documentation/index.php b/documentation/index.php
new file mode 100644
index 0000000..73f3b84
--- /dev/null
+++ b/documentation/index.php
@@ -0,0 +1,10 @@
+<?php  																														require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); 	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); 	$App 	= new App();	$Nav	= new Nav();	$Menu 	= new Menu();		include($App->getProjectCommon());    # All on the same line to unclutter the user's desktop'
+	$pageTitle 		= "EGit - Documentation";
+
+	$html  = '<div id="midcolumn">';
+	$html .= file_get_contents('_index.html');
+	$html .= "</div>";
+	
+	# Generate the web page
+	$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
+?>
diff --git a/download/_index.html b/download/_index.html
new file mode 100644
index 0000000..d10f768
--- /dev/null
+++ b/download/_index.html
@@ -0,0 +1,46 @@
+<p><a href="http://marketplace.eclipse.org/content/ease-git-team-provider">
+						<img src="/ease/images/star.png" border="0"/>
+						Like EGit? Star it as a <b>favorite</b> on Eclipse Marketplace!</a></p>
+
+<script type="text/javascript">
+          url_site = 'http://marketplace.eclipse.org/node/1336'
+        </script>
+        <script src="http://marketplace.eclipse.org/sites/all/modules/drigg_external/js/button.js" type="text/javascript"></script>
+
+<h2>Installing the Latest Release: @VERSION@</h2>
+<p>To install via one of the update site URLs listed below, copy and paste it into the &ldquo;Help &gt; Install new software&rdquo; dialog.</p>
+<p>EGit can be installed in the following ways:</p>
+<ul>
+<li>Main Update Site: <a href="http://download.eclipse.org/ease/updates">http://download.eclipse.org/ease/updates</a> (Recommended)</li>
+<li>Luna Update Site (Luna contains EGit 3.4.0 at the moment): <a href="http://download.eclipse.org/releases/luna">http://download.eclipse.org/releases/luna</a></li>
+<li>Via the <a href="http://marketplace.eclipse.org/content/ease-git-team-provider">Eclipse Marketplace</a></li>
+</ul>
+
+<p>GitHub Mylyn Connector can be installed in the following ways:</p>
+<ul>
+<li>Main Update Site: <a href="http://download.eclipse.org/ease/github/updates">http://download.eclipse.org/ease/github/updates</a> (Recommended)</li>
+<li>Luna Update Site: <a href="http://download.eclipse.org/releases/luna">http://download.eclipse.org/releases/luna</a></li>
+<li>Via the <a href="http://marketplace.eclipse.org/content/github-mylyn-connector">Eclipse Marketplace</a></li>
+</ul>
+
+<p>EGit p2 repository download for system integrators:</p>
+<ul>
+<li><a href="http://www.eclipse.org/downloads/download.php?file=/ease/updates/org.eclipse.ease.repository-@VERSION@.zip">@VERSION@</a></li>
+</ul>
+
+<h2>Older Releases</h2>
+<p>To find older releases visit the following Wiki page</p>
+<ul>
+<li><a href="http://wiki.eclipse.org/EGit/FAQ#Where_can_I_find_older_releases_of_EGit.3F">Where to find older releases</a></li>
+</ul>
+
+<h2>Nightly Builds</h2>
+<p>If you like to use the latest development version or need a bugfix which is not yet released, you can install EGit and the GitHub Mylyn connector from the following update sites:</p>
+<ul>
+<li>EGit development build (master branch) - <a href="http://download.eclipse.org/ease/updates-nightly">http://download.eclipse.org/ease/updates-nightly</a></li>
+<li>EGit maintenance build (latest stable branch) - <a href="http://download.eclipse.org/ease/updates-stable-nightly">http://download.eclipse.org/ease/updates-stable-nightly</a></li>
+<li>GitHub Mylyn Connector development build (master branch) - <a href="http://download.eclipse.org/ease/github/updates-nightly">http://download.eclipse.org/ease/github/updates-nightly</a></li>
+</ul>
+<p>Because every change is reviewed before it is included in the nightly builds, they are actually quite stable.</p>
+
+<p>You can also build EGit from scratch following our <a href="http://wiki.eclipse.org/EGit/Contributor_Guide#Builds">contributor guide</a>.</p>
diff --git a/download/index.php b/download/index.php
new file mode 100644
index 0000000..aa73e3e
--- /dev/null
+++ b/download/index.php
@@ -0,0 +1,13 @@
+<?php  																														require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); 	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); 	$App 	= new App();	$Nav	= new Nav();	$Menu 	= new Menu();		include($App->getProjectCommon());    # All on the same line to unclutter the user's desktop'
+	$pageTitle 		= "EGit - Download";
+	$version      = "3.4.1.201406201815-r";
+
+	$html  = '<div id="midcolumn">';
+	$html .= file_get_contents('_index.html');
+	$html .= "</div>";
+
+	$html = preg_replace('/@VERSION@/', $version, $html);
+
+	# Generate the web page
+	$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
+?>
diff --git a/images/backgroundMain.png b/images/backgroundMain.png
new file mode 100644
index 0000000..f87780c
--- /dev/null
+++ b/images/backgroundMain.png
Binary files differ
diff --git a/images/buttonDocumentation.png b/images/buttonDocumentation.png
new file mode 100644
index 0000000..bbfdde0
--- /dev/null
+++ b/images/buttonDocumentation.png
Binary files differ
diff --git a/images/buttonDocumentation_sel.png b/images/buttonDocumentation_sel.png
new file mode 100644
index 0000000..8affb93
--- /dev/null
+++ b/images/buttonDocumentation_sel.png
Binary files differ
diff --git a/images/buttonDownload.png b/images/buttonDownload.png
new file mode 100644
index 0000000..e620092
--- /dev/null
+++ b/images/buttonDownload.png
Binary files differ
diff --git a/images/buttonDownload_new.png b/images/buttonDownload_new.png
new file mode 100644
index 0000000..e620092
--- /dev/null
+++ b/images/buttonDownload_new.png
Binary files differ
diff --git a/images/buttonDownload_sel.png b/images/buttonDownload_sel.png
new file mode 100644
index 0000000..d3a0330
--- /dev/null
+++ b/images/buttonDownload_sel.png
Binary files differ
diff --git a/images/buttonInvolved.png b/images/buttonInvolved.png
new file mode 100644
index 0000000..bd115b0
--- /dev/null
+++ b/images/buttonInvolved.png
Binary files differ
diff --git a/images/buttonInvolved_sel.png b/images/buttonInvolved_sel.png
new file mode 100644
index 0000000..8dbf275
--- /dev/null
+++ b/images/buttonInvolved_sel.png
Binary files differ
diff --git a/images/buttonSupport.png b/images/buttonSupport.png
new file mode 100644
index 0000000..bd36086
--- /dev/null
+++ b/images/buttonSupport.png
Binary files differ
diff --git a/images/buttonSupport_sel.png b/images/buttonSupport_sel.png
new file mode 100644
index 0000000..a535fe8
--- /dev/null
+++ b/images/buttonSupport_sel.png
Binary files differ
diff --git a/images/star.png b/images/star.png
new file mode 100644
index 0000000..17c24b7
--- /dev/null
+++ b/images/star.png
Binary files differ
diff --git a/index.php b/index.php
old mode 100644
new mode 100755
index e5ec569..c09e6eb
--- a/index.php
+++ b/index.php
@@ -1 +1,9 @@
-<?php header('Location: http://eclipse.org/projects/project.php?id=technology.ease'); ?>
\ No newline at end of file
+<?php  																														require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); 	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); 	$App 	= new App();	$Nav	= new Nav();	$Menu 	= new Menu();		include($App->getProjectCommon());    # All on the same line to unclutter the user's desktop'
+	$pageTitle 		= "EGit";
+
+	# Paste your HTML content between the EOHTML markers!
+	$html = file_get_contents('_index.html');
+	
+	# Generate the web page
+	$App->generatePage($theme, $Menu, null, $pageAuthor, $pageKeywords, $pageTitle, $html);
+?>
diff --git a/style.css b/style.css
new file mode 100644
index 0000000..526317a
--- /dev/null
+++ b/style.css
@@ -0,0 +1,34 @@
+#novaContent {
+	background: url("images/backgroundMain.png") no-repeat;
+	padding-top: 210px;
+}
+
+#midcolumn {
+	width: 600px;
+	padding: 0 10px 10px 10px;
+}
+
+#rightcolumn {
+	width: 300px;
+}
+
+#padding {
+	height: 20px;
+}
+
+h3 {
+	clear: both;
+}
+
+h7 {
+	font-weight: bold;
+	padding: 5px;
+}
+
+a strong {
+	text-decoration: underline;
+}
+
+#rightcolumn ul {
+	margin-left: 10px;
+}
\ No newline at end of file
diff --git a/style2.css b/style2.css
new file mode 100644
index 0000000..d48a359
--- /dev/null
+++ b/style2.css
@@ -0,0 +1,168 @@
+#novaContent {
+	background: url("images/backgroundMain.png") no-repeat white;
+	padding-top: 170px;
+}
+
+#introText p.left {
+	width: 48%;
+	float: left;
+}
+
+#border {
+	border-style: solid;
+	border-width: 5px;
+	border-color: rgb(230,228,242);
+}
+
+#border_top {
+	border-style: solid;
+	border-width: 5px;
+	border-color: rgb(230,228,242);
+	border-bottom: 0px;
+	border-left: 0px;
+	border-right: 0px;
+}
+
+#border p.top {
+	background-color: rgb(230,228,242);
+	border-bottom: 2px solid #FFF;
+	font-size: 14px;
+	font-weight: bold;
+	margin-bottom: 0px;
+	-moz-border-radius-topleft:3px;
+	-moz-border-radius-topright:3px;
+}
+
+#introText p.right {
+	width: 48%;
+	float: right;
+}
+
+#feature_axf {
+	float: left;
+	width: 30%;
+	margin-right: 3%;
+}
+
+#feature_agf {
+	float: left;
+	width: 30%;
+	margin-right: 3%;
+}
+
+#feature_escape {
+	float: left;
+	width: 30%;
+	margin-right: 3%
+}
+
+#feature_generation {
+	float: left;
+	width: 30%;
+}
+
+#feature_experience {
+	clear: both;
+	float: left;
+	width: 63%;
+	margin-right: 3%;	
+}
+
+#feature_more {
+	float: left;
+	width: 30%;
+}
+	
+#bigbuttons {
+	position: relative;
+	left: 420px;
+	top: -170px;
+}
+#bigbuttons h3{
+	visibility: hidden;
+}
+
+#bigbuttons a {
+}
+
+#bigbuttons ul li {
+   display:block;
+   list-style-type:none;
+   background-color: red;
+   padding: 0;
+   margin: 0;
+}
+
+#bigbuttons a:hover {
+	text-decoration: none;
+}
+
+#bigbuttons a {
+   display: block;
+   height:77px; width:250px;
+   padding: 0;
+   margin: 20px;
+   text-indent: -9000px;
+   position: absolute;
+}
+
+#buttonDownload {
+   background:transparent url("images/buttonDownload.png") no-repeat 0 0;
+   top: 0px;
+   left: 0px;
+}
+
+#buttonDownload:hover {
+   background:transparent url("images/buttonDownload_sel.png") no-repeat 0 0;
+}
+
+   
+#buttonDocumentation {
+   background:transparent url("images/buttonDocumentation.png") no-repeat 0 0;
+   top: 87px;
+   left: 0px;
+}
+
+#buttonDocumentation:hover {
+   background:transparent url("images/buttonDocumentation_sel.png") no-repeat 0 0;
+}
+
+#buttonSupport {
+   background:transparent url("images/buttonSupport.png") no-repeat 0 0;
+   top: 0px;
+   left: 280px;
+}
+
+#buttonSupport:hover {
+   background:transparent url("images/buttonSupport_sel.png") no-repeat 0 0;
+}
+
+#buttonInvolved {
+   background:transparent url("images/buttonInvolved.png") no-repeat 0 0;
+   top: 87px;
+   left: 280px;
+}
+
+#buttonInvolved:hover {
+   background:transparent url("images/buttonInvolved_sel.png") no-repeat 0 0;
+}
+
+#bigbuttons a * {
+	visibility: hidden;
+}
+
+
+/*
+#screencast {
+	margin: 20px;
+	position: relative;
+	left: 50px;
+	width: 480px; 
+	background-color: black; 
+	clear: both; 
+	height: 340px;
+	color: white;
+	text-align: center;
+	vertical-align: middle;
+}
+*/
\ No newline at end of file
diff --git a/support/_index.html b/support/_index.html
new file mode 100644
index 0000000..13398db
--- /dev/null
+++ b/support/_index.html
@@ -0,0 +1,17 @@
+<ul>
+	<li><b><a href="/ease/documentation"
+		title="Documentation">Documentation</a></b> - read our Users Guide</li>
+	<li><b><a
+		href="http://www.eclipse.org/forums/index.php?t=thread&frm_id=48"
+		rel="nofollow">EGit Forums</a></b></li>
+	<li><b><a
+		href="https://dev.eclipse.org/mailman/listinfo/ease-dev"
+		title="ease-dev Mailing List"
+		rel="nofollow">Developer Mailing List</a></b> - Ask technical questions on our mailing list.</li>
+	<li><b><a
+		href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;classification=Technology&amp;product=EGit&amp;long_desc_type=allwordssubstr&amp;long_desc=&amp;bug_file_loc_type=allwordssubstr&amp;bug_file_loc=&amp;status_whiteboard_type=allwordssubstr&amp;status_whiteboard=&amp;keywords_type=allwords&amp;keywords=&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;emailtype1=exact&amp;email1=&amp;emailtype2=substring&amp;email2=&amp;bugidtype=include&amp;bug_id=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;cmdtype=doit&amp;order=Reuse+same+sort+as+last+time&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0="
+		rel="nofollow">EGit Bugzilla</a></b> - review and create Bugzilla entries</li>
+	<li><b><a
+		href="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=EGit&amp;rep_platform=All&amp;op_sys=All"
+		rel="nofollow">File a bug</a></b> - file bugs and feature requests</li>
+</ul>
diff --git a/support/index.php b/support/index.php
new file mode 100644
index 0000000..1497f0f
--- /dev/null
+++ b/support/index.php
@@ -0,0 +1,10 @@
+<?php  																														require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); 	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); 	$App 	= new App();	$Nav	= new Nav();	$Menu 	= new Menu();		include($App->getProjectCommon());    # All on the same line to unclutter the user's desktop'
+	$pageTitle 		= "EGit - Support";
+
+	$html  = '<div id="midcolumn">';
+	$html .= file_get_contents('_index.html');
+	$html .= "</div>";
+	
+	# Generate the web page
+	$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
+?>
