diff --git a/_projectCommon.php b/_projectCommon.php
index 2494597..33c7bc5 100644
--- a/_projectCommon.php
+++ b/_projectCommon.php
@@ -1,24 +1,34 @@
 <?php
-/*******************************************************************************
- * Copyright(c) 2015 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
+/**
+ * Copyright (c) 2015, 2018 Eclipse Foundation.
+ *
+ * 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:
- *    Nathan Gervais (Eclipse Foundation) - Initial implementation
- *    Eric Poirier (Eclipse Foundation)
- *******************************************************************************/
+ *   Nathan Gervais (Eclipse Foundation) - Initial implementation
+ *   Eric Poirier (Eclipse Foundation)
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
 
+require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.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";
+$Nav = new Nav();
+$Nav->addNavSeparator("Galileo", "");
+$Nav->addCustomNav("Download Now", "/downloads/packages/release/helios/sr2", "_self", 1);
+$Nav->addCustomNav("Galileo Projects", "/projects/releases/releases.php?release=galileo", "_self", 1);
+$Nav->addCustomNav("Blogathon", "/galileo/blogathon/reviews.php", "_self", 1);
+$Nav->addCustomNav("Virtual Conference", "/galileo/galileoinaction.php", "_self", 1);
+$Nav->addCustomNav("Friends of Galileo", "/galileo/friends.php", "_self", 1);
+$Theme->setNav($Nav);
+
+// 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 = NULL;
 $App->Promotion = FALSE;
 
-$App->setOutDated( '2011-11-11', '<a href="https://projects.eclipse.org/releases/galileo">Galileo</a> is a past version of Eclipse. Please visit our <a href="/downloads/">download</a> page for the latest version of Eclipse. ' );
-
-?>
\ No newline at end of file
+$App->setOutDated('2011-11-11', '<a href="https://projects.eclipse.org/releases/galileo">Galileo</a> is a past version of Eclipse. Please visit our <a href="/downloads/">download</a> page for the latest version of Eclipse. ');
diff --git a/buzz.php b/buzz.php
index 1c85950..e7ce507 100644
--- a/buzz.php
+++ b/buzz.php
@@ -1,35 +1,32 @@
 <?php
-/*******************************************************************************
- * Copyright(c) 2015 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
+/**
+ * Copyright (c) 2015, 2018 Eclipse Foundation.
+ *
+ * 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:
- *    Nathan Gervais (Eclipse Foundation) - Initial implementation
- *    Eric Poirier (Eclipse Foundation)
- *******************************************************************************/
-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");
+ *   Nathan Gervais (Eclipse Foundation) - Initial implementation
+ *   Eric Poirier (Eclipse Foundation)
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
+require_once ($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.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'
+$Theme = $App->getThemeClass();
 
+include ($App->getProjectCommon());
 
-// Begin: page-specific settings. Change these.
-$pageTitle 		= "Ganymede  Buzz";
-$pageKeywords	= "ganymede, release, ganymede release train, buzz, press";
-$pageAuthor		= "Nathan Gervais";
+$pageTitle = "Ganymede  Buzz";
+$Theme->setPageTitle($pageTitle);
+$Theme->setPageKeywords("ganymede, release, ganymede release train, buzz, press");
+$Theme->setPageAuthor("Nathan Gervais");
 
-// Place your html content in a file called content/en_pagename.php
 ob_start();
-include("content/en_" . $App->getScriptName());
+include ("content/en_" . $App->getScriptName());
 $html = ob_get_clean();
 
-# Generate the web page
-$App->AddExtraHtmlHeader('<link type="text/css" href="/galileo/style.css" rel="stylesheet"/>');
-$App->generatePage(NULL, $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
\ No newline at end of file
+$Theme->setHtml($html);
+$Theme->generatePage();
\ No newline at end of file
diff --git a/buzzmore.php b/buzzmore.php
index dc10ef4..fbbd706 100644
--- a/buzzmore.php
+++ b/buzzmore.php
@@ -1,35 +1,32 @@
 <?php
-/*******************************************************************************
- * Copyright(c) 2015 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
+/**
+ * Copyright (c) 2015, 2018 Eclipse Foundation.
+ *
+ * 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:
- *    Nathan Gervais (Eclipse Foundation) - Initial implementation
- *    Eric Poirier (Eclipse Foundation)
- *******************************************************************************/
-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");
+ *   Nathan Gervais (Eclipse Foundation) - Initial implementation
+ *   Eric Poirier (Eclipse Foundation)
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
+require_once ($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.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'
+$Theme = $App->getThemeClass();
 
+include ($App->getProjectCommon());
 
-// Begin: page-specific settings. Change these.
-$pageTitle 		= "Ganymede  Buzz";
-$pageKeywords	= "ganymede, release, ganymede release train, buzz, press";
-$pageAuthor		= "Nathan Gervais";
+$pageTitle = "Ganymede  Buzz";
+$Theme->setPageTitle($pageTitle);
+$Theme->setPageKeywords("ganymede, release, ganymede release train, buzz, press");
+$Theme->setPageAuthor("Nathan Gervais");
 
-// Place your html content in a file called content/en_pagename.php
 ob_start();
-include("content/en_" . $App->getScriptName());
+include ("content/en_" . $App->getScriptName());
 $html = ob_get_clean();
 
-# Generate the web page
-$App->AddExtraHtmlHeader('<link type="text/css" href="/galileo/style.css" rel="stylesheet"/>');
-$App->generatePage(NULL, $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
+$Theme->setHtml($html);
+$Theme->generatePage();
diff --git a/content/en_buzz.php b/content/en_buzz.php
index 601e53c..49fe431 100644
--- a/content/en_buzz.php
+++ b/content/en_buzz.php
@@ -1,135 +1,95 @@
 <?php
-/*******************************************************************************
- * Copyright(c) 2015 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
+/**
+ * Copyright (c) 2015, 2018 Eclipse Foundation.
+ *
+ * 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:
- *    Nathan Gervais (Eclipse Foundation) - Initial implementation
- *    Eric Poirier (Eclipse Foundation)
- *******************************************************************************/
+ * Nathan Gervais (Eclipse Foundation) - Initial implementation
+ * Eric Poirier (Eclipse Foundation)
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
 ?>
 <div id="midcolumn">
-  <h1 class="inline">Ganymede Buzz</h1>
-
+  <h1><?php print $pageTitle; ?></h1>
   <div class="homeitem3col">
     <h3>Community Buzz</h3>
     <ul>
-
-      <li><a href="http://www.myeclipseide.com/Article79.html"
-        target="_blank">MyEclipse Delivers Advanced Ajax Tools for
-          Ganymede </a> <span class="posted">+370&nbsp;weeks&nbsp;ago</span>
-        <p>Genuitec is pleased to announce today the immediate
-          availability of MyEclipse Enterprise Workbench 7.0 milestone
-          1. This milestone release delivers advanced Ajax tooling for
-          Java EE and full Application Lifecycle Management (ALM)
-          capabilities for Eclipse 3.4 Ganymede, among other
-          enhancements.</p></li>
-
-      <li><a
-        href="http://www.protecode.com/site/pdf/GA%20Availability%20Press%20Rel.pdf"
-        target="_blank">Protecode Annouces General Availability of
-          Governance and Intellectual Property Management Software </a>
-        <span class="posted">+376&nbsp;weeks&nbsp;ago</span>
-        <p>Protecode Inc., today announced the general availability of
-          its software development tool for governance and Intellectual
-          Property (IP) management. The latest release enables
-          commercial software developers and open source creators to
-          accelerate managed adoption of open source code in a simple,
-          painless process. Additionally, the software is now available
-          to the Eclipse community for anyone working on an active
-          Eclipse project.</p></li>
-
-      <li><a href="http://www.ddj.com/linux-open-source/208802482"
-        target="_blank">The Eclipse Ganymede Release </a> <span
-        class="posted">+376&nbsp;weeks&nbsp;ago</span>
-        <p>Dr. Dobb's talks to Mike Milinkovich, Executive Director of
-          the Eclipse Foundation, about the Eclipse Ganymede release, a
-          coordinated release of 23 different Eclipse project teams and
-          represents over 18 million lines of code.</p></li>
-
-      <li><a
-        href="http://www.froglogic.com/pg?id=NewsEvents&category=98"
-        target="_blank">Java GUI Testing Tool Squish Supports New
-          Eclipse "Ganymede" 3.4 </a> <span class="posted">+376&nbsp;weeks&nbsp;ago</span>
+      <li><a href="http://www.myeclipseide.com/Article79.html" target="_blank">MyEclipse Delivers
+          Advanced Ajax Tools for Ganymede </a> <span class="posted">+370&nbsp;weeks&nbsp;ago</span>
+        <p>Genuitec is pleased to announce today the immediate availability of MyEclipse Enterprise
+          Workbench 7.0 milestone 1. This milestone release delivers advanced Ajax tooling for Java
+          EE and full Application Lifecycle Management (ALM) capabilities for Eclipse 3.4 Ganymede,
+          among other enhancements.</p></li>
+      <li><a href="http://www.protecode.com/site/pdf/GA%20Availability%20Press%20Rel.pdf"
+        target="_blank"
+      >Protecode Annouces General Availability of Governance and Intellectual Property Management
+          Software </a> <span class="posted">+376&nbsp;weeks&nbsp;ago</span>
+        <p>Protecode Inc., today announced the general availability of its software development tool
+          for governance and Intellectual Property (IP) management. The latest release enables
+          commercial software developers and open source creators to accelerate managed adoption of
+          open source code in a simple, painless process. Additionally, the software is now
+          available to the Eclipse community for anyone working on an active Eclipse project.</p></li>
+      <li><a href="http://www.ddj.com/linux-open-source/208802482" target="_blank">The Eclipse
+          Ganymede Release </a> <span class="posted">+376&nbsp;weeks&nbsp;ago</span>
+        <p>Dr. Dobb's talks to Mike Milinkovich, Executive Director of the Eclipse Foundation, about
+          the Eclipse Ganymede release, a coordinated release of 23 different Eclipse project teams
+          and represents over 18 million lines of code.</p></li>
+      <li><a href="http://www.froglogic.com/pg?id=NewsEvents&category=98" target="_blank">Java GUI
+          Testing Tool Squish Supports New Eclipse "Ganymede" 3.4 </a> <span class="posted">+376&nbsp;weeks&nbsp;ago</span>
         <p>
-          froglogic GmbH today announced support for automated testing
-          of Java Rich Client Platform (RCP) applications based on the
-          new Eclipse 3.4 release code named Ganymede.<br /> Squish for
-          Java is a leading functional GUI and regression testing tool
-          enabling the creation and execution of automated GUI tests for
-          Java SWT/RCP and AWT/Swing applications.
+          froglogic GmbH today announced support for automated testing of Java Rich Client Platform
+          (RCP) applications based on the new Eclipse 3.4 release code named Ganymede.<br /> Squish
+          for Java is a leading functional GUI and regression testing tool enabling the creation and
+          execution of automated GUI tests for Java SWT/RCP and AWT/Swing applications.
         </p></li>
-
-      <li><a href="http://www.ecommercetimes.com/story/63659.html"
-        target="_blank">Eclipse Release Is Great but Doesn't Reach the
-          Cloud </a> <span class="posted">+376&nbsp;weeks&nbsp;ago</span>
-        <p>The Eclipse Foundation has delivered a healthy package of
-          updates, right on time, for the third year in a row. That's
-          commendable, writes contributor Dana Gardner. What he'd really
-          like to see, however, is a greater commitment on Eclipse's
-          part to integrate with cloud-based development.</p></li>
-
-      <li><a
-        href="http://eclipse.dzone.com/articles/eclipse-ganymede-18-million-li"
-        target="_blank">Eclipse Ganymede - 18 Million Lines of Code
-          Delivered on Schedule </a> <span class="posted">+378&nbsp;weeks&nbsp;ago</span>
-        <p>As many of you may know the annual Eclipse release train,
-          called Ganymede, is now available. This is the third year in a
-          row that the Eclipse community has shipped a coordinate
-          release of multiple projects; 23 projects are included this
-          year. An important reason for the release trains is to make it
-          easier for Eclipse users and adopters, who tend to use
-          multiple projects, to upgrade to a new release. A coordinated
-          release schedule makes its possible for timely upgrades in the
-          Eclipse community.</p></li>
-
-      <li><a href="http://blogs.zdnet.com/Gardner/?p=2698"
-        target="_blank">Eclipse Foundation delivers Ganymede train with
-          23 cars, but where are the cloud on-ramps? </a> <span
-        class="posted">+378&nbsp;weeks&nbsp;ago</span>
-        <p>For the third year in a row, the Eclipse community has
-          delivered, on the same day as in previous years, numerous
-          software updates across a wide range of projects.</p></li>
-
-      <li><a href="http://www.ddj.com/linux-open-source/208800860"
-        target="_blank">Eclipse Delivers Annual Release </a> <span
-        class="posted">+378&nbsp;weeks&nbsp;ago</span>
-        <p>"Once again the Eclipse community has delivered our annual
-          release train and continues to deliver innovative software in
-          a predictable manner," said Mike Milinkovich, Executive
-          Director of the Eclipse Foundation. "New features like the
-          Equinox p2 provisioning system, new modeling tools and tools
-          that support SOA developers will be popular features for
+      <li><a href="http://www.ecommercetimes.com/story/63659.html" target="_blank">Eclipse Release
+          Is Great but Doesn't Reach the Cloud </a> <span class="posted">+376&nbsp;weeks&nbsp;ago</span>
+        <p>The Eclipse Foundation has delivered a healthy package of updates, right on time, for the
+          third year in a row. That's commendable, writes contributor Dana Gardner. What he'd really
+          like to see, however, is a greater commitment on Eclipse's part to integrate with
+          cloud-based development.</p></li>
+      <li><a href="http://eclipse.dzone.com/articles/eclipse-ganymede-18-million-li" target="_blank">Eclipse
+          Ganymede - 18 Million Lines of Code Delivered on Schedule </a> <span class="posted">+378&nbsp;weeks&nbsp;ago</span>
+        <p>As many of you may know the annual Eclipse release train, called Ganymede, is now
+          available. This is the third year in a row that the Eclipse community has shipped a
+          coordinate release of multiple projects; 23 projects are included this year. An important
+          reason for the release trains is to make it easier for Eclipse users and adopters, who
+          tend to use multiple projects, to upgrade to a new release. A coordinated release schedule
+          makes its possible for timely upgrades in the Eclipse community.</p></li>
+      <li><a href="http://blogs.zdnet.com/Gardner/?p=2698" target="_blank">Eclipse Foundation
+          delivers Ganymede train with 23 cars, but where are the cloud on-ramps? </a> <span
+        class="posted"
+      >+378&nbsp;weeks&nbsp;ago</span>
+        <p>For the third year in a row, the Eclipse community has delivered, on the same day as in
+          previous years, numerous software updates across a wide range of projects.</p></li>
+      <li><a href="http://www.ddj.com/linux-open-source/208800860" target="_blank">Eclipse Delivers
+          Annual Release </a> <span class="posted">+378&nbsp;weeks&nbsp;ago</span>
+        <p>"Once again the Eclipse community has delivered our annual release train and continues to
+          deliver innovative software in a predictable manner," said Mike Milinkovich, Executive
+          Director of the Eclipse Foundation. "New features like the Equinox p2 provisioning system,
+          new modeling tools and tools that support SOA developers will be popular features for
           Eclipse users."</p></li>
-
-      <li><a href="http://www.devxnews.com/article.php/3755391"
-        target="_blank">Eclipse Ganymede Makes It Easier for Devs </a> <span
-        class="posted">+378&nbsp;weeks&nbsp;ago</span>
-        <p>Some open source efforts are satisfied with releasing one or
-          two projects a year. That's not the case with the open source
-          Eclipse Foundation, which today released 23 projects as part
-          of its Ganymede release train.</p></li>
-
-      <li><a
-        href="http://www.instantiations.com/press/release/080625.html"
-        target="_blank">Instantiations Rolls Out Product Updates in
-          Conjunction with Eclipse 3.4 and Ganymede </a> <span
-        class="posted">+378&nbsp;weeks&nbsp;ago</span>
-        <p>Instantiations, Inc., a leading provider of software quality
-          and productivity solutions for the Eclipse platform, today
-          announced that its entire Eclipse-based product line has been
-          updated to coincide with the annual Eclipse open source
-          release, Ganymede. Included with the roll-out are significant
-          additions in the area of security to its CodePro
+      <li><a href="http://www.devxnews.com/article.php/3755391" target="_blank">Eclipse Ganymede
+          Makes It Easier for Devs </a> <span class="posted">+378&nbsp;weeks&nbsp;ago</span>
+        <p>Some open source efforts are satisfied with releasing one or two projects a year. That's
+          not the case with the open source Eclipse Foundation, which today released 23 projects as
+          part of its Ganymede release train.</p></li>
+      <li><a href="http://www.instantiations.com/press/release/080625.html" target="_blank">Instantiations
+          Rolls Out Product Updates in Conjunction with Eclipse 3.4 and Ganymede </a> <span
+        class="posted"
+      >+378&nbsp;weeks&nbsp;ago</span>
+        <p>Instantiations, Inc., a leading provider of software quality and productivity solutions
+          for the Eclipse platform, today announced that its entire Eclipse-based product line has
+          been updated to coincide with the annual Eclipse open source release, Ganymede. Included
+          with the roll-out are significant additions in the area of security to its CodePro
           AnalytiX&Atilde;&fnof;&Acirc;&cent;&Atilde;&cent;&acirc;&sbquo;&not;&Aring;&frac34;&Atilde;&sbquo;&Acirc;&cent;
-          comprehensive code quality product, bringing advanced
-          standards-based security auditing to developers desktops as
-          they write code. The Ganymede release train includes Eclipse
-          3.4, the annual release of the Eclipse platform, which was
-          delivered today.</p></li>
+          comprehensive code quality product, bringing advanced standards-based security auditing to
+          developers desktops as they write code. The Ganymede release train includes Eclipse 3.4,
+          the annual release of the Eclipse platform, which was delivered today.</p></li>
       <li class="more">
         <div class="more">
           <a href="buzzmore.php">Read More</a>
@@ -140,36 +100,18 @@
 </div>
 <div id="rightcolumn">
   <div class="sideitem">
-    <h6>Galileo</h6>
-    <ul id="leftnav">
-      <li><a href="/downloads/packages/release/helios/sr2"
-        target="_self">Download Now</a></li>
-      <li><a
-        href="http://www.eclipse.org/projects/releases/releases.php?release=galileo"
-        target="_self">Galileo Projects</a></li>
-      <li><a href="/galileo/blogathon/reviews.php" target="_self">Blogathon</a></li>
-      <li><a href="/galileo/galileoinaction.php" target="_self">Virtual
-          Conference</a></li>
-      <li><a href="/galileo/friends.php" target="_self">Friends of
-          Galileo</a></li>
-    </ul>
-
-  </div>
-  <div class="sideitem">
     <h3>Ganymede Around the World Blogs</h3>
     <ul>
-      <li><a href="http://siagian.p.blog.com" target="_blank">siagian.p</a>
-        - verdy</li>
-      <li><a href="http://hi.baidu.com/mimimo" target="_blank">mamimoluo</a>
-        - mamimoluo</li>
+      <li><a href="http://siagian.p.blog.com" target="_blank">siagian.p</a> - verdy</li>
+      <li><a href="http://hi.baidu.com/mimimo" target="_blank">mamimoluo</a> - mamimoluo</li>
       <li><a href="http://anandharidas.blogspot.com/" target="_blank">http://anandharidas.blogspot.com/</a>
         - Anand Haridas</li>
-      <li><a href="http://codenaut.blogspot.com" target="_blank">http://codenaut.blogspot.com</a>
-        - FRJK</li>
-      <li><a href="http://codenaut.blogger.com" target="_blank">http://codenaut.blogger.com</a>
-        - FRJK</li>
-      <li><a href="http://sites.google.com/struts2spring"
-        target="_blank">struts2spring</a> - Vijay Kumar Keshri</li>
+      <li><a href="http://codenaut.blogspot.com" target="_blank">http://codenaut.blogspot.com</a> -
+        FRJK</li>
+      <li><a href="http://codenaut.blogger.com" target="_blank">http://codenaut.blogger.com</a> -
+        FRJK</li>
+      <li><a href="http://sites.google.com/struts2spring" target="_blank">struts2spring</a> - Vijay
+        Kumar Keshri</li>
       <li class="more">
         <div class="more">
           <a href="mapList.php">Read More</a>
diff --git a/content/en_buzzmore.php b/content/en_buzzmore.php
index 8ad32df..0653d01 100644
--- a/content/en_buzzmore.php
+++ b/content/en_buzzmore.php
@@ -1,317 +1,204 @@
 <?php
-/*******************************************************************************
- * Copyright(c) 2015 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
+/**
+ * Copyright (c) 2015, 2018 Eclipse Foundation.
+ *
+ * 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:
- *    Nathan Gervais (Eclipse Foundation) - Initial implementation
- *    Eric Poirier (Eclipse Foundation)
- *******************************************************************************/
+ *   Nathan Gervais (Eclipse Foundation) - Initial implementation
+ *   Eric Poirier (Eclipse Foundation)
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
 ?>
 <div id="midcolumn">
-  <h1 class="inline">Ganymede Buzz</h1>
-
-
+  <h1 class="inline"><?php print $pageTitle; ?></h1>
   <h3>Community Buzz</h3>
   <ul>
-
-    <li><a href="http://www.myeclipseide.com/Article79.html"
-      target="_blank">MyEclipse Delivers Advanced Ajax Tools for
-        Ganymede </a> <span class="posted">+370&nbsp;weeks&nbsp;ago</span>
-      <p>Genuitec is pleased to announce today the immediate
-        availability of MyEclipse Enterprise Workbench 7.0 milestone 1.
-        This milestone release delivers advanced Ajax tooling for Java
-        EE and full Application Lifecycle Management (ALM) capabilities
-        for Eclipse 3.4 Ganymede, among other enhancements.</p></li>
-
-    <li><a
-      href="http://www.protecode.com/site/pdf/GA%20Availability%20Press%20Rel.pdf"
-      target="_blank">Protecode Annouces General Availability of
-        Governance and Intellectual Property Management Software </a> <span
-      class="posted">+376&nbsp;weeks&nbsp;ago</span>
-      <p>Protecode Inc., today announced the general availability of its
-        software development tool for governance and Intellectual
-        Property (IP) management. The latest release enables commercial
-        software developers and open source creators to accelerate
-        managed adoption of open source code in a simple, painless
-        process. Additionally, the software is now available to the
-        Eclipse community for anyone working on an active Eclipse
-        project.</p></li>
-
-    <li><a href="http://www.ddj.com/linux-open-source/208802482"
-      target="_blank">The Eclipse Ganymede Release </a> <span
-      class="posted">+376&nbsp;weeks&nbsp;ago</span>
-      <p>Dr. Dobb's talks to Mike Milinkovich, Executive Director of the
-        Eclipse Foundation, about the Eclipse Ganymede release, a
-        coordinated release of 23 different Eclipse project teams and
-        represents over 18 million lines of code.</p></li>
-
-    <li><a href="http://www.froglogic.com/pg?id=NewsEvents&category=98"
-      target="_blank">Java GUI Testing Tool Squish Supports New Eclipse
-        "Ganymede" 3.4 </a> <span class="posted">+376&nbsp;weeks&nbsp;ago</span>
+    <li><a href="http://www.myeclipseide.com/Article79.html" target="_blank">MyEclipse Delivers
+        Advanced Ajax Tools for Ganymede </a> <span class="posted">+370&nbsp;weeks&nbsp;ago</span>
+      <p>Genuitec is pleased to announce today the immediate availability of MyEclipse Enterprise
+        Workbench 7.0 milestone 1. This milestone release delivers advanced Ajax tooling for Java EE
+        and full Application Lifecycle Management (ALM) capabilities for Eclipse 3.4 Ganymede, among
+        other enhancements.</p></li>
+    <li><a href="http://www.protecode.com/site/pdf/GA%20Availability%20Press%20Rel.pdf"
+      target="_blank"
+    >Protecode Annouces General Availability of Governance and Intellectual Property Management
+        Software </a> <span class="posted">+376&nbsp;weeks&nbsp;ago</span>
+      <p>Protecode Inc., today announced the general availability of its software development tool
+        for governance and Intellectual Property (IP) management. The latest release enables
+        commercial software developers and open source creators to accelerate managed adoption of
+        open source code in a simple, painless process. Additionally, the software is now available
+        to the Eclipse community for anyone working on an active Eclipse project.</p></li>
+    <li><a href="http://www.ddj.com/linux-open-source/208802482" target="_blank">The Eclipse
+        Ganymede Release </a> <span class="posted">+376&nbsp;weeks&nbsp;ago</span>
+      <p>Dr. Dobb's talks to Mike Milinkovich, Executive Director of the Eclipse Foundation, about
+        the Eclipse Ganymede release, a coordinated release of 23 different Eclipse project teams
+        and represents over 18 million lines of code.</p></li>
+    <li><a href="http://www.froglogic.com/pg?id=NewsEvents&category=98" target="_blank">Java GUI
+        Testing Tool Squish Supports New Eclipse "Ganymede" 3.4 </a> <span class="posted">+376&nbsp;weeks&nbsp;ago</span>
       <p>
-        froglogic GmbH today announced support for automated testing of
-        Java Rich Client Platform (RCP) applications based on the new
-        Eclipse 3.4 release code named Ganymede.<br /> Squish for Java
-        is a leading functional GUI and regression testing tool enabling
-        the creation and execution of automated GUI tests for Java
-        SWT/RCP and AWT/Swing applications.
+        froglogic GmbH today announced support for automated testing of Java Rich Client Platform
+        (RCP) applications based on the new Eclipse 3.4 release code named Ganymede.<br /> Squish
+        for Java is a leading functional GUI and regression testing tool enabling the creation and
+        execution of automated GUI tests for Java SWT/RCP and AWT/Swing applications.
       </p></li>
-
-    <li><a href="http://www.ecommercetimes.com/story/63659.html"
-      target="_blank">Eclipse Release Is Great but Doesn't Reach the
-        Cloud </a> <span class="posted">+376&nbsp;weeks&nbsp;ago</span>
-      <p>The Eclipse Foundation has delivered a healthy package of
-        updates, right on time, for the third year in a row. That's
-        commendable, writes contributor Dana Gardner. What he'd really
-        like to see, however, is a greater commitment on Eclipse's part
-        to integrate with cloud-based development.</p></li>
-
-    <li><a
-      href="http://eclipse.dzone.com/articles/eclipse-ganymede-18-million-li"
-      target="_blank">Eclipse Ganymede - 18 Million Lines of Code
-        Delivered on Schedule </a> <span class="posted">+378&nbsp;weeks&nbsp;ago</span>
-      <p>As many of you may know the annual Eclipse release train,
-        called Ganymede, is now available. This is the third year in a
-        row that the Eclipse community has shipped a coordinate release
-        of multiple projects; 23 projects are included this year. An
-        important reason for the release trains is to make it easier for
-        Eclipse users and adopters, who tend to use multiple projects,
-        to upgrade to a new release. A coordinated release schedule
-        makes its possible for timely upgrades in the Eclipse community.</p>
-    </li>
-
-    <li><a href="http://blogs.zdnet.com/Gardner/?p=2698" target="_blank">Eclipse
-        Foundation delivers Ganymede train with 23 cars, but where are
-        the cloud on-ramps? </a> <span class="posted">+378&nbsp;weeks&nbsp;ago</span>
-      <p>For the third year in a row, the Eclipse community has
-        delivered, on the same day as in previous years, numerous
-        software updates across a wide range of projects.</p></li>
-
-    <li><a href="http://www.ddj.com/linux-open-source/208800860"
-      target="_blank">Eclipse Delivers Annual Release </a> <span
-      class="posted">+378&nbsp;weeks&nbsp;ago</span>
-      <p>"Once again the Eclipse community has delivered our annual
-        release train and continues to deliver innovative software in a
-        predictable manner," said Mike Milinkovich, Executive Director
-        of the Eclipse Foundation. "New features like the Equinox p2
-        provisioning system, new modeling tools and tools that support
-        SOA developers will be popular features for Eclipse users."</p>
-    </li>
-
-    <li><a href="http://www.devxnews.com/article.php/3755391"
-      target="_blank">Eclipse Ganymede Makes It Easier for Devs </a> <span
-      class="posted">+378&nbsp;weeks&nbsp;ago</span>
-      <p>Some open source efforts are satisfied with releasing one or
-        two projects a year. That's not the case with the open source
-        Eclipse Foundation, which today released 23 projects as part of
-        its Ganymede release train.</p></li>
-
-    <li><a
-      href="http://www.instantiations.com/press/release/080625.html"
-      target="_blank">Instantiations Rolls Out Product Updates in
-        Conjunction with Eclipse 3.4 and Ganymede </a> <span
-      class="posted">+378&nbsp;weeks&nbsp;ago</span>
-      <p>Instantiations, Inc., a leading provider of software quality
-        and productivity solutions for the Eclipse platform, today
-        announced that its entire Eclipse-based product line has been
-        updated to coincide with the annual Eclipse open source release,
-        Ganymede. Included with the roll-out are significant additions
-        in the area of security to its CodePro
+    <li><a href="http://www.ecommercetimes.com/story/63659.html" target="_blank">Eclipse Release Is
+        Great but Doesn't Reach the Cloud </a> <span class="posted">+376&nbsp;weeks&nbsp;ago</span>
+      <p>The Eclipse Foundation has delivered a healthy package of updates, right on time, for the
+        third year in a row. That's commendable, writes contributor Dana Gardner. What he'd really
+        like to see, however, is a greater commitment on Eclipse's part to integrate with
+        cloud-based development.</p></li>
+    <li><a href="http://eclipse.dzone.com/articles/eclipse-ganymede-18-million-li" target="_blank">Eclipse
+        Ganymede - 18 Million Lines of Code Delivered on Schedule </a> <span class="posted">+378&nbsp;weeks&nbsp;ago</span>
+      <p>As many of you may know the annual Eclipse release train, called Ganymede, is now
+        available. This is the third year in a row that the Eclipse community has shipped a
+        coordinate release of multiple projects; 23 projects are included this year. An important
+        reason for the release trains is to make it easier for Eclipse users and adopters, who tend
+        to use multiple projects, to upgrade to a new release. A coordinated release schedule makes
+        its possible for timely upgrades in the Eclipse community.</p></li>
+    <li><a href="http://blogs.zdnet.com/Gardner/?p=2698" target="_blank">Eclipse Foundation delivers
+        Ganymede train with 23 cars, but where are the cloud on-ramps? </a> <span class="posted">+378&nbsp;weeks&nbsp;ago</span>
+      <p>For the third year in a row, the Eclipse community has delivered, on the same day as in
+        previous years, numerous software updates across a wide range of projects.</p></li>
+    <li><a href="http://www.ddj.com/linux-open-source/208800860" target="_blank">Eclipse Delivers
+        Annual Release </a> <span class="posted">+378&nbsp;weeks&nbsp;ago</span>
+      <p>"Once again the Eclipse community has delivered our annual release train and continues to
+        deliver innovative software in a predictable manner," said Mike Milinkovich, Executive
+        Director of the Eclipse Foundation. "New features like the Equinox p2 provisioning system,
+        new modeling tools and tools that support SOA developers will be popular features for
+        Eclipse users."</p></li>
+    <li><a href="http://www.devxnews.com/article.php/3755391" target="_blank">Eclipse Ganymede Makes
+        It Easier for Devs </a> <span class="posted">+378&nbsp;weeks&nbsp;ago</span>
+      <p>Some open source efforts are satisfied with releasing one or two projects a year. That's
+        not the case with the open source Eclipse Foundation, which today released 23 projects as
+        part of its Ganymede release train.</p></li>
+    <li><a href="http://www.instantiations.com/press/release/080625.html" target="_blank">Instantiations
+        Rolls Out Product Updates in Conjunction with Eclipse 3.4 and Ganymede </a> <span
+      class="posted"
+    >+378&nbsp;weeks&nbsp;ago</span>
+      <p>Instantiations, Inc., a leading provider of software quality and productivity solutions for
+        the Eclipse platform, today announced that its entire Eclipse-based product line has been
+        updated to coincide with the annual Eclipse open source release, Ganymede. Included with the
+        roll-out are significant additions in the area of security to its CodePro
         AnalytiX&Atilde;&fnof;&Acirc;&cent;&Atilde;&cent;&acirc;&sbquo;&not;&Aring;&frac34;&Atilde;&sbquo;&Acirc;&cent;
-        comprehensive code quality product, bringing advanced
-        standards-based security auditing to developers desktops as they
-        write code. The Ganymede release train includes Eclipse 3.4, the
-        annual release of the Eclipse platform, which was delivered
-        today.</p></li>
-
-    <li><a
-      href="http://www.emediawire.com/releases/2008/6/prweb1055254.htm"
-      target="_blank">Migrate Easily to Eclipse 3.4 Ganymede, Manage
-        Configurations with Pulse </a> <span class="posted">+378&nbsp;weeks&nbsp;ago</span>
+        comprehensive code quality product, bringing advanced standards-based security auditing to
+        developers desktops as they write code. The Ganymede release train includes Eclipse 3.4, the
+        annual release of the Eclipse platform, which was delivered today.</p></li>
+    <li><a href="http://www.emediawire.com/releases/2008/6/prweb1055254.htm" target="_blank">Migrate
+        Easily to Eclipse 3.4 Ganymede, Manage Configurations with Pulse </a> <span class="posted">+378&nbsp;weeks&nbsp;ago</span>
       <p>
-        Genuitec, LLC, a founding member of the Eclipse Foundation,
-        announced today the general availability of Pulse 2.2, the free
-        and easiest way to obtain, manage and configure Eclipse Ganymede
-        and plugins. <br />Genuitec is pleased to offer this product to
-        Pulse users on the day of the Ganymede release. As of today,
-        Pulse 2.2 will support full Ganymede tool stacks.
+        Genuitec, LLC, a founding member of the Eclipse Foundation, announced today the general
+        availability of Pulse 2.2, the free and easiest way to obtain, manage and configure Eclipse
+        Ganymede and plugins. <br />Genuitec is pleased to offer this product to Pulse users on the
+        day of the Ganymede release. As of today, Pulse 2.2 will support full Ganymede tool stacks.
       </p></li>
-
-    <li><a href="http://tasktop.com/blog/?p=32" target="_blank">Mylyn
-        3.0 released </a> <span class="posted">+378&nbsp;weeks&nbsp;ago</span>
+    <li><a href="http://tasktop.com/blog/?p=32" target="_blank">Mylyn 3.0 released </a> <span
+      class="posted"
+    >+378&nbsp;weeks&nbsp;ago</span>
       <p>The Mylyn team is very pleased to announce
         today&Atilde;&fnof;&Acirc;&cent;&Atilde;&cent;&acirc;&euro;&scaron;&Acirc;&not;&Atilde;&cent;&acirc;&euro;&#382;&Acirc;&cent;s
-        release of Mylyn 3.0 along with the Eclipse Ganymede release
-        train. This occasion marks a big step in the evolution of the
-        task-focused interface</p></li>
-
-    <li><a href="http://www.adtmag.com/article.aspx?id=22837"
-      target="_blank">Eclipse's Third 'Release Train' on Schedule </a> <span
-      class="posted">+378&nbsp;weeks&nbsp;ago</span>
-      <p>On Wednesday June 25 the Eclipse Foundation is sending its
-        third annual "release train" chugging down the track. This
-        year's synchronized launch of several Eclipse projects at once
-        (code named "Ganymede") involved the coordinated release of 23
-        projects, up from 21 in last year's "Europa" release, and 10 in
-        2006 with the original "Callisto" release. One of the goals of
-        the release-train strategy, said Eclipse Foundation executive
-        director Mike Milinkovich, is to provide "a level of
-        predictability" that will promote commercial adoption of the
-        Eclipse community's products.</p></li>
-
+        release of Mylyn 3.0 along with the Eclipse Ganymede release train. This occasion marks a
+        big step in the evolution of the task-focused interface</p></li>
+    <li><a href="http://www.adtmag.com/article.aspx?id=22837" target="_blank">Eclipse's Third
+        'Release Train' on Schedule </a> <span class="posted">+378&nbsp;weeks&nbsp;ago</span>
+      <p>On Wednesday June 25 the Eclipse Foundation is sending its third annual "release train"
+        chugging down the track. This year's synchronized launch of several Eclipse projects at once
+        (code named "Ganymede") involved the coordinated release of 23 projects, up from 21 in last
+        year's "Europa" release, and 10 in 2006 with the original "Callisto" release. One of the
+        goals of the release-train strategy, said Eclipse Foundation executive director Mike
+        Milinkovich, is to provide "a level of predictability" that will promote commercial adoption
+        of the Eclipse community's products.</p></li>
     <li><a
       href="http://www.computerworld.com/action/article.do?command=viewArticleBasic&articleId=9102838"
-      target="_blank">Eclipse set for coordinated release of 23 updates
-    </a> <span class="posted">+378&nbsp;weeks&nbsp;ago</span>
-      <p>The Eclipse Foundation is set to make available tomorrow its
-        annual coordinated release of open-source projects, which this
-        year includes some 18 million lines of code and updates to 23
-        different projects.</p></li>
-
-    <li><a
-      href="http://eclipse.dzone.com/articles/eclipse-34-hidden-treasures"
-      target="_blank">Eclipse 3.4 Hidden Treasures </a> <span
-      class="posted">+378&nbsp;weeks&nbsp;ago</span>
-      <p>Eclipse 3.4 "Ganymede" will be released in the upcoming days.
-        I've been working with the RC builds for some time now and I
-        like it. Eclipse 3.4 is a better IDE and a more robust platform
-        than its' successor. In this post, I've gathered some new
-        features which I like and may be "off the beaten path".</p></li>
-
-    <li><a href="http://www.infoq.com/news/2008/06/eclipse-ganymede-jdt"
-      target="_blank">Eclipse Ganymede: An in-depth look at JDT (Java
-        Development Tools) </a> <span class="posted">+378&nbsp;weeks&nbsp;ago</span>
-      <p>As part of the upcoming Eclipse Ganymede release, scheduled for
-        June 25th, InfoQ will cover a series of Eclipse subprojects.
-        Today, the subproject is JDT (Java Development Tools), which is
-        releasing version 3.4. InfoQ spoke with Philippe Mulet, lead of
-        the Eclipse project, and Martin Aeschlimann, lead of the JDT UI
-        subproject, to learn more about what to expect in Ganymede.</p>
-    </li>
-
-    <li><a href="http://www.infoq.com/news/2008/06/eclipse-ganymede-pde"
-      target="_blank">Eclipse Ganymede: An in-depth look at PDE (Plugin
-        Development Environment) </a> <span class="posted">+378&nbsp;weeks&nbsp;ago</span>
-      <p>As part of the upcoming Eclipse Ganymede release which is
-        scheduled for June 25th, InfoQ will cover a series of Eclipse
-        subprojects. Today, the subproject is PDE (Plugin Development
-        Environment), which is releasing version 3.4. InfoQ spoke with
-        Chris Aniszczyk, PDE Technical Lead and Principal Consultant at
-        Code9, to learn more about PDE and what it provides.</p></li>
-
-    <li><a
-      href="http://www.infoq.com/news/2008/06/eclipse-ganymede-mylyn"
-      target="_blank">Eclipse Ganymede: An in-depth look at Mylyn </a> <span
-      class="posted">+379&nbsp;weeks&nbsp;ago</span>
-      <p>As part of the upcoming Eclipse Ganymede release, scheduled for
-        June 25th, InfoQ is covering a series of Eclipse subprojects.
-        Today, the topic is Mylyn. InfoQ spoke with Mik Kersten, lead of
-        the Mylyn project and President of Tasktop Technologies, to
-        learn more about what to expect in Ganymede.</p></li>
-
-    <li><a
-      href="http://www-128.ibm.com/developerworks/library/os-eclipse-ganymede/"
-      target="_blank">Eclipse Ganymede at a glance </a> <span
-      class="posted">+379&nbsp;weeks&nbsp;ago</span>
-      <p>The Eclipse Ganymede release of 24 projects showcases the
-        diversity and innovation going on inside the Eclipse ecosystem.
-        Get an overview of several Ganymede projects, along with
+      target="_blank"
+    >Eclipse set for coordinated release of 23 updates </a> <span class="posted">+378&nbsp;weeks&nbsp;ago</span>
+      <p>The Eclipse Foundation is set to make available tomorrow its annual coordinated release of
+        open-source projects, which this year includes some 18 million lines of code and updates to
+        23 different projects.</p></li>
+    <li><a href="http://eclipse.dzone.com/articles/eclipse-34-hidden-treasures" target="_blank">Eclipse
+        3.4 Hidden Treasures </a> <span class="posted">+378&nbsp;weeks&nbsp;ago</span>
+      <p>Eclipse 3.4 "Ganymede" will be released in the upcoming days. I've been working with the RC
+        builds for some time now and I like it. Eclipse 3.4 is a better IDE and a more robust
+        platform than its' successor. In this post, I've gathered some new features which I like and
+        may be "off the beaten path".</p></li>
+    <li><a href="http://www.infoq.com/news/2008/06/eclipse-ganymede-jdt" target="_blank">Eclipse
+        Ganymede: An in-depth look at JDT (Java Development Tools) </a> <span class="posted">+378&nbsp;weeks&nbsp;ago</span>
+      <p>As part of the upcoming Eclipse Ganymede release, scheduled for June 25th, InfoQ will cover
+        a series of Eclipse subprojects. Today, the subproject is JDT (Java Development Tools),
+        which is releasing version 3.4. InfoQ spoke with Philippe Mulet, lead of the Eclipse
+        project, and Martin Aeschlimann, lead of the JDT UI subproject, to learn more about what to
+        expect in Ganymede.</p></li>
+    <li><a href="http://www.infoq.com/news/2008/06/eclipse-ganymede-pde" target="_blank">Eclipse
+        Ganymede: An in-depth look at PDE (Plugin Development Environment) </a> <span class="posted">+378&nbsp;weeks&nbsp;ago</span>
+      <p>As part of the upcoming Eclipse Ganymede release which is scheduled for June 25th, InfoQ
+        will cover a series of Eclipse subprojects. Today, the subproject is PDE (Plugin Development
+        Environment), which is releasing version 3.4. InfoQ spoke with Chris Aniszczyk, PDE
+        Technical Lead and Principal Consultant at Code9, to learn more about PDE and what it
+        provides.</p></li>
+    <li><a href="http://www.infoq.com/news/2008/06/eclipse-ganymede-mylyn" target="_blank">Eclipse
+        Ganymede: An in-depth look at Mylyn </a> <span class="posted">+379&nbsp;weeks&nbsp;ago</span>
+      <p>As part of the upcoming Eclipse Ganymede release, scheduled for June 25th, InfoQ is
+        covering a series of Eclipse subprojects. Today, the topic is Mylyn. InfoQ spoke with Mik
+        Kersten, lead of the Mylyn project and President of Tasktop Technologies, to learn more
+        about what to expect in Ganymede.</p></li>
+    <li><a href="http://www-128.ibm.com/developerworks/library/os-eclipse-ganymede/" target="_blank">Eclipse
+        Ganymede at a glance </a> <span class="posted">+379&nbsp;weeks&nbsp;ago</span>
+      <p>The Eclipse Ganymede release of 24 projects showcases the diversity and innovation going on
+        inside the Eclipse ecosystem. Get an overview of several Ganymede projects, along with
         resources to find out more information.</p></li>
-
-    <li><a
-      href="http://www.infoworld.com/article/08/06/19/Eclipse-readies-Ganymede-release_1.html"
-      target="_blank">Eclipse readies Ganymede release </a> <span
-      class="posted">+379&nbsp;weeks&nbsp;ago</span>
-      <p>The Eclipse Foundation next week is set to offer its annual
-        simultaneous release of open-source project updates, this time
-        called the Ganymede Release and featuring improvements in the
-        core OSGI-based component model and SOA tools.</p></li>
-
-    <li><a href="http://www.infoq.com/news/2008/06/eclipse-ganymede-rap"
-      target="_blank">Eclipse Ganymede: An in-depth look at RAP (Rich
-        Ajax Platform) </a> <span class="posted">+379&nbsp;weeks&nbsp;ago</span>
-      <p>As part of the upcoming Eclipse Ganymede release which is
-        scheduled for June 25th, InfoQ will cover a series of Eclipse
-        subprojects. Today, the subproject is RAP (Rich Ajax Platform),
-        which is releasing version 1.1. InfoQ spoke with Jochen Krause
-        to learn more about RAP and what it provides.</p></li>
-
-    <li><a
-      href="http://eclipse.dzone.com/articles/understanding-eclipse-p2-provi"
-      target="_blank">Understanding the Eclipse p2 Provisioning System </a>
-      <span class="posted">+379&nbsp;weeks&nbsp;ago</span>
-      <p>p2 is the new provisioning system which will be provided along
-        with the Eclipse Ganymede release on June 25th. This is one
-        feature that I didn't really follow closely enough,so I was
-        really happy when I called Pascal Rapicault to get an
-        explanation from the project lead.Ian Skerrett has recently
-        blogged about 10 reasons p2 is going to rock, and after reading
-        this, I'm sure you'll agree.</p></li>
-
-    <li><a
-      href="http://searchsoa.techtarget.com/news/article/0,289142,sid26_gci1317879,00.html"
-      target="_blank">Eclipse Ganymede Part 1: What's in it for SOA? </a>
-      <span class="posted">+379&nbsp;weeks&nbsp;ago</span>
-      <p>This is the first in a series of four articles previewing the
-        Eclipse Foundation's annual downloadable project release, code
-        named Ganymede, which is set for Wednesday, June 25.</p></li>
-
-    <li><a href="http://www.infoq.com/news/2008/06/eclipse-ganymede-ecf"
-      target="_blank">Eclipse Ganymede: An in-depth look at ECF (Eclipse
-        Communication Framework) </a> <span class="posted">+379&nbsp;weeks&nbsp;ago</span>
-      <p>s part of the upcoming Eclipse Ganymede release, scheduled for
-        June 25th, InfoQ is covering a series of Eclipse subprojects.
-        Today, the topic is the Eclipse Communication Framework. InfoQ
-        spoke with Scott Lewis, project lead for ECF and Principal at
-        his consulting company, Composent, Inc to learn more about ECF
-        and what capabilities it provides.</p></li>
-
-    <li><a href="http://www.infoq.com/news/2008/06/eclipse-ganymede-p2"
-      target="_blank">Eclipse Ganymede: An in-depth look at Equinox p2
-        (Provisioning Platform) </a> <span class="posted">+379&nbsp;weeks&nbsp;ago</span>
-      <p>As part of the upcoming Eclipse Ganymede release, scheduled for
-        June 25th, InfoQ will cover a series of Eclipse subprojects.
-        Today, the subproject is Equinox p2 (Provisioning Platform),
-        which is a framework for provisioning Eclipse-based
-        applications. InfoQ spoke with Jeff McAffer and Pascal Rapicault
-        to learn more about p2 and what it provides.</p></li>
-
-    <li><a
-      href="http://www.theregister.co.uk/2008/06/16/eclipse_ganymede_overview/"
-      target="_blank">Eclipse projects squeeze into record Summer fun
-        pack </a> <span class="posted">+379&nbsp;weeks&nbsp;ago</span>
+    <li><a href="http://www.infoworld.com/article/08/06/19/Eclipse-readies-Ganymede-release_1.html"
+      target="_blank"
+    >Eclipse readies Ganymede release </a> <span class="posted">+379&nbsp;weeks&nbsp;ago</span>
+      <p>The Eclipse Foundation next week is set to offer its annual simultaneous release of
+        open-source project updates, this time called the Ganymede Release and featuring
+        improvements in the core OSGI-based component model and SOA tools.</p></li>
+    <li><a href="http://www.infoq.com/news/2008/06/eclipse-ganymede-rap" target="_blank">Eclipse
+        Ganymede: An in-depth look at RAP (Rich Ajax Platform) </a> <span class="posted">+379&nbsp;weeks&nbsp;ago</span>
+      <p>As part of the upcoming Eclipse Ganymede release which is scheduled for June 25th, InfoQ
+        will cover a series of Eclipse subprojects. Today, the subproject is RAP (Rich Ajax
+        Platform), which is releasing version 1.1. InfoQ spoke with Jochen Krause to learn more
+        about RAP and what it provides.</p></li>
+    <li><a href="http://eclipse.dzone.com/articles/understanding-eclipse-p2-provi" target="_blank">Understanding
+        the Eclipse p2 Provisioning System </a> <span class="posted">+379&nbsp;weeks&nbsp;ago</span>
+      <p>p2 is the new provisioning system which will be provided along with the Eclipse Ganymede
+        release on June 25th. This is one feature that I didn't really follow closely enough,so I
+        was really happy when I called Pascal Rapicault to get an explanation from the project
+        lead.Ian Skerrett has recently blogged about 10 reasons p2 is going to rock, and after
+        reading this, I'm sure you'll agree.</p></li>
+    <li><a href="http://searchsoa.techtarget.com/news/article/0,289142,sid26_gci1317879,00.html"
+      target="_blank"
+    >Eclipse Ganymede Part 1: What's in it for SOA? </a> <span class="posted">+379&nbsp;weeks&nbsp;ago</span>
+      <p>This is the first in a series of four articles previewing the Eclipse Foundation's annual
+        downloadable project release, code named Ganymede, which is set for Wednesday, June 25.</p></li>
+    <li><a href="http://www.infoq.com/news/2008/06/eclipse-ganymede-ecf" target="_blank">Eclipse
+        Ganymede: An in-depth look at ECF (Eclipse Communication Framework) </a> <span
+      class="posted"
+    >+379&nbsp;weeks&nbsp;ago</span>
+      <p>s part of the upcoming Eclipse Ganymede release, scheduled for June 25th, InfoQ is covering
+        a series of Eclipse subprojects. Today, the topic is the Eclipse Communication Framework.
+        InfoQ spoke with Scott Lewis, project lead for ECF and Principal at his consulting company,
+        Composent, Inc to learn more about ECF and what capabilities it provides.</p></li>
+    <li><a href="http://www.infoq.com/news/2008/06/eclipse-ganymede-p2" target="_blank">Eclipse
+        Ganymede: An in-depth look at Equinox p2 (Provisioning Platform) </a> <span class="posted">+379&nbsp;weeks&nbsp;ago</span>
+      <p>As part of the upcoming Eclipse Ganymede release, scheduled for June 25th, InfoQ will cover
+        a series of Eclipse subprojects. Today, the subproject is Equinox p2 (Provisioning
+        Platform), which is a framework for provisioning Eclipse-based applications. InfoQ spoke
+        with Jeff McAffer and Pascal Rapicault to learn more about p2 and what it provides.</p></li>
+    <li><a href="http://www.theregister.co.uk/2008/06/16/eclipse_ganymede_overview/" target="_blank">Eclipse
+        projects squeeze into record Summer fun pack </a> <span class="posted">+379&nbsp;weeks&nbsp;ago</span>
       <p>
-        The Eclipse Foundation's annual code blitz - this year under the
-        name Ganymede - kicks off at the end of this month with 24
-        Eclipse projects co-ordinating their new releases.<br />Now in
-        its third year, this annual big push keeps getting bigger.
-        Ganymede is Eclipse's largest co-ordinate release of updated
-        projects to-date, beating last year's update by three.
+        The Eclipse Foundation's annual code blitz - this year under the name Ganymede - kicks off
+        at the end of this month with 24 Eclipse projects co-ordinating their new releases.<br />Now
+        in its third year, this annual big push keeps getting bigger. Ganymede is Eclipse's largest
+        co-ordinate release of updated projects to-date, beating last year's update by three.
       </p></li>
   </ul>
 </div>
 <div id="rightcolumn">
   <div class="sideitem">
-    <h6>Galileo</h6>
-    <ul id="leftnav">
-      <li><a href="/downloads/packages/release/helios/sr2"
-        target="_self">Download Now</a></li>
-      <li><a
-        href="http://www.eclipse.org/projects/releases/releases.php?release=galileo"
-        target="_self">Galileo Projects</a></li>
-      <li><a href="/galileo/blogathon/reviews.php" target="_self">Blogathon</a></li>
-      <li><a href="/galileo/galileoinaction.php" target="_self">Virtual
-          Conference</a></li>
-      <li><a href="/galileo/friends.php" target="_self">Friends of
-          Galileo</a></li>
-    </ul>
-
-  </div>
-  <div class="sideitem">
     <h6>Related Links</h6>
     <ul>
       <li><a href="map.php">Ganymede Around the World</a></li>
@@ -319,4 +206,3 @@
     </ul>
   </div>
 </div>
-
diff --git a/content/en_friends.php b/content/en_friends.php
index 39bd76e..4eaf3bb 100644
--- a/content/en_friends.php
+++ b/content/en_friends.php
@@ -1,59 +1,33 @@
 <?php
-/*******************************************************************************
- * Copyright(c) 2015 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
+/**
+ * Copyright (c) 2015, 2018 Eclipse Foundation.
+ *
+ * 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:
- *    Nathan Gervais (Eclipse Foundation) - Initial implementation
- *    Eric Poirier (Eclipse Foundation)
- *******************************************************************************/
+ *   Nathan Gervais (Eclipse Foundation) - Initial implementation
+ *   Eric Poirier (Eclipse Foundation)
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
 ?>
-
 <div id="midcolumn">
-
   <h1>Get Galileo Sooner and Faster</h1>
-
   <ul id="bulletList">
     <li>Eclipse Galileo Release is coming June 24.</li>
-    <li>Become a <a href="/donate">Friend of Eclipse</a> to get early
-      access to the Galileo release and a faster download experience[1].
+    <li>Become a <a href="/donate">Friend of Eclipse</a> to get early access to the Galileo release
+      and a faster download experience[1].
     </li>
-    <li>At the same time you will be helping support the Eclipse
-      Foundation and the Eclipse community. <a href="/donate">Join now
-        for only US$35</a>.
+    <li>At the same time you will be helping support the Eclipse Foundation and the Eclipse
+      community. <a href="/donate">Join now for only US$35</a>.
     </li>
   </ul>
-
-  <p style="font-size: 12px; color: #555;">[1] Friends of Eclipse get
-    special access to the Eclipse Foundation download server. This
-    server will be available to Friends of Eclipse while the download
-    packages are being synchronized to our mirrors. This typically means
-    the packages will be available up to 24 hrs before everyone else.
-    The Eclipse Foundation will also be dedicating extra bandwidth to
-    this download server, so Friends should experience a faster
-    download.</p>
-
-
+  <p style="font-size: 12px; color: #555;">[1] Friends of Eclipse get special access to the Eclipse
+    Foundation download server. This server will be available to Friends of Eclipse while the
+    download packages are being synchronized to our mirrors. This typically means the packages will
+    be available up to 24 hrs before everyone else. The Eclipse Foundation will also be dedicating
+    extra bandwidth to this download server, so Friends should experience a faster download.</p>
 </div>
-<!-- remove the entire <div> tag to omit the right column! -->
-<div id="rightcolumn">
-  <div class="sideitem">
-    <h6>Galileo</h6>
-    <ul id="leftnav">
-      <li><a href="/downloads/packages/release/helios/sr2"
-        target="_self">Download Now</a></li>
-      <li><a
-        href="http://www.eclipse.org/projects/releases/releases.php?release=galileo"
-        target="_self">Galileo Projects</a></li>
-      <li><a href="/galileo/blogathon/reviews.php" target="_self">Blogathon</a></li>
-      <li><a href="/galileo/galileoinaction.php" target="_self">Virtual
-          Conference</a></li>
-      <li><a href="/galileo/friends.php" target="_self">Friends of
-          Galileo</a></li>
-    </ul>
 
-  </div>
-</div>
diff --git a/content/en_galileoinaction.php b/content/en_galileoinaction.php
index 1fdc17c..a437dfa 100644
--- a/content/en_galileoinaction.php
+++ b/content/en_galileoinaction.php
@@ -1,176 +1,122 @@
 <?php
-/*******************************************************************************
- * Copyright(c) 2015 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
+/**
+ * Copyright (c) 2015, 2018 Eclipse Foundation.
+ *
+ * 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:
- *    Nathan Gervais (Eclipse Foundation) - Initial implementation
- *    Eric Poirier (Eclipse Foundation)
- *******************************************************************************/
+ * Nathan Gervais (Eclipse Foundation) - Initial implementation
+ * Eric Poirier (Eclipse Foundation)
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
 ?>
-
 <div id="midcolumn">
-
   <h1>Galileo In Action</h1>
-
-  <p>On June 26, the Eclipse Foundation is presenting Galileo In Action
-    - a virtual conference where you can interact with project leads
-    involved in the release and see demos of the new features. The
-    annual simultaneous release has now grown to 33 projects with over
-    23 million lines of code, contributed by committers around the
-    world. With such a large global community, Eclipse wants to bring
-    Galileo to you!</p>
-
+  <p>On June 26, the Eclipse Foundation is presenting Galileo In Action - a virtual conference where
+    you can interact with project leads involved in the release and see demos of the new features.
+    The annual simultaneous release has now grown to 33 projects with over 23 million lines of code,
+    contributed by committers around the world. With such a large global community, Eclipse wants to
+    bring Galileo to you!</p>
   <p>
-    <a href="https://www2.gotomeeting.com/register/207615571"
-      target="blank"> <img src="images/button_register.gif"
-      style="padding-right: 25px;" alt="Register" border="0"></a>
+    <a href="https://www2.gotomeeting.com/register/207615571" target="blank"> <img
+      src="images/button_register.gif" style="padding-right: 25px;" alt="Register" border="0"
+    ></a>
   </p>
-
-  <p>Galileo In Action is free to attend and registering gets you into
-    all 5 sessions:</p>
-
+  <p>Galileo In Action is free to attend and registering gets you into all 5 sessions:</p>
   <p>
-    10:00-10:45 am EST<br>  <img
-      src="http://www.eclipse.org/newsgroups/images/plus.gif"
-      alt="Description" title="Description"> <b>What is Galileo and Why
-        do I Love it?</b><br> Doug Schaefer (C/C++ Development
-    Tooling) and John Graham (Data Tools Platform)
+    10:00-10:45 am EST<br> <img src="http://www.eclipse.org/newsgroups/images/plus.gif"
+      alt="Description" title="Description"
+    > <b>What is Galileo and Why do I Love it?</b><br> Doug Schaefer (C/C++ Development Tooling) and
+    John Graham (Data Tools Platform)
   </p>
   <div id="intro" class="switchcontent">
-    <p>Doug and John will give an overview of what exactly the Galileo
-      release is all about. They will explain what makes Eclipse
-      projects want to participate in the simultaneoue release and what
-      is required for them to do so. Doug and John will describe the
-      improvements Galileo brings to the community and from their
-      perspective as project leads, what they see as the impact to the
-      Eclipse ecosystem.</p>
+    <p>Doug and John will give an overview of what exactly the Galileo release is all about. They
+      will explain what makes Eclipse projects want to participate in the simultaneoue release and
+      what is required for them to do so. Doug and John will describe the improvements Galileo
+      brings to the community and from their perspective as project leads, what they see as the
+      impact to the Eclipse ecosystem.</p>
   </div>
-
   <p>
-    11:00 am - 11:45 am EST<br><img
-      src="http://www.eclipse.org/newsgroups/images/plus.gif"
-      alt="Description" title="Description"> <b>Frameworks Showcase</b><br>
-    Scott Lewis (Eclipse Communication Framework) and Pascal Rapicault
-    (p2)
+    11:00 am - 11:45 am EST<br> <img src="http://www.eclipse.org/newsgroups/images/plus.gif"
+      alt="Description" title="Description"
+    > <b>Frameworks Showcase</b><br> Scott Lewis (Eclipse Communication Framework) and Pascal
+    Rapicault (p2)
   </p>
   <div id="frameworks" class="switchcontent">
     <p>
-      ECF is a framework for supporting the development of distributed
-      Eclipse-based tools and applications. It can be used to create
-      other plugins, tools or full Eclipse RCP applications that require
-      asynchronous point-to-point or publish-and-subscribe messaging. <br>
-      <br> p2 provides a framework for provisioning Eclipse-based
-      applications. It replaces Update Manager as a mechanism for
-      managing your Eclipse install, searching for updates and
-      installing new functionality. <br> <br> Scott and Pascal will give
-      a short introduction to ECF and p2 and explain what these projects
-      have contributed to the Galileo release.
+      ECF is a framework for supporting the development of distributed Eclipse-based tools and
+      applications. It can be used to create other plugins, tools or full Eclipse RCP applications
+      that require asynchronous point-to-point or publish-and-subscribe messaging. <br> <br> p2
+      provides a framework for provisioning Eclipse-based applications. It replaces Update Manager
+      as a mechanism for managing your Eclipse install, searching for updates and installing new
+      functionality. <br> <br> Scott and Pascal will give a short introduction to ECF and p2 and
+      explain what these projects have contributed to the Galileo release.
     </p>
   </div>
-
   <p>
-    12:00 pm - 12:45 pm EST<br><img
-      src="http://www.eclipse.org/newsgroups/images/plus.gif"
-      alt="Description" title="Description"> <b>Runtime Showcase</b><br>
-    Tom Watson (Equinox) and Shaun Smith (EclipseLink)
+    12:00 pm - 12:45 pm EST<br> <img src="http://www.eclipse.org/newsgroups/images/plus.gif"
+      alt="Description" title="Description"
+    > <b>Runtime Showcase</b><br> Tom Watson (Equinox) and Shaun Smith (EclipseLink)
   </p>
   <div id="runtime" class="switchcontent">
     <p>
-      From a code point of view, Equinox is an implementation of the
-      OSGi R4 core framework specification, a set of bundles that
-      implement various optional OSGi services and other infrastructure
-      for running OSGi-based systems. The goal of the Equinox project is
-      to be a first class OSGi community and foster the vision of
-      Eclipse as a landscape of bundles. As part of this, it is
-      responsible for developing and delivering the OSGi framework
-      implementation used for all of Eclipse. <br> <br> EclipseLink, or
-      the Eclipse Persistence Services Project, delivers a comprehensive
-      open-source Java persistence solution. It has a set of persistence
-      services enabling developers to efficiently develop applications
-      that access data in a variety of data sources and formats. <br> <br>
-      Join Tom and Shaun for a review of these runtime projects and the
-      new features they bring to Galileo.
+      From a code point of view, Equinox is an implementation of the OSGi R4 core framework
+      specification, a set of bundles that implement various optional OSGi services and other
+      infrastructure for running OSGi-based systems. The goal of the Equinox project is to be a
+      first class OSGi community and foster the vision of Eclipse as a landscape of bundles. As part
+      of this, it is responsible for developing and delivering the OSGi framework implementation
+      used for all of Eclipse. <br> <br> EclipseLink, or the Eclipse Persistence Services Project,
+      delivers a comprehensive open-source Java persistence solution. It has a set of persistence
+      services enabling developers to efficiently develop applications that access data in a variety
+      of data sources and formats. <br> <br> Join Tom and Shaun for a review of these runtime
+      projects and the new features they bring to Galileo.
     </p>
   </div>
-
   <p>
-    1:00 pm - 1:45 pm EST<br><img
-      src="http://www.eclipse.org/newsgroups/images/plus.gif"
-      alt="Description" title="Description"> <b>Tools Showcase</b><br>
-    Andreas Buchen (Memory Analyzer) and Roy Ganor (PHP Development
+    1:00 pm - 1:45 pm EST<br> <img src="http://www.eclipse.org/newsgroups/images/plus.gif"
+      alt="Description" title="Description"
+    > <b>Tools Showcase</b><br> Andreas Buchen (Memory Analyzer) and Roy Ganor (PHP Development
     Tools)
   </p>
   <div id="tools" class="switchcontent">
     <p>
-      The Eclipse Memory Analyzer is a fast and feature-rich Java heap
-      analyzer that helps you find memory leaks and reduce memory
-      consumption. Developers use the Memory Analyzer to analyze
-      productive heap dumps with hundreds of millions of objects,
-      quickly calculate the retained sizes of objects, see who is
-      preventing the Garbage Collector from collecting objects, and run
-      reports to automatically extract leak suspects. <br> <br> The PHP
-      Development Tools project provides a framework for the Eclipse
-      platform. The project encompasses all development components
-      necessary to develop PHP and facilitate extensibility. It
-      leverages the existing Web Tools Platform (WTP) and Dynamic
-      Languages Toolkit (DLTK) i in providing developers with PHP
-      capabilities. <br> <br> Andreas and Roy will talk about the new
-      and noteworthy features their respective projects will introduce
-      in the Galileo release.
+      The Eclipse Memory Analyzer is a fast and feature-rich Java heap analyzer that helps you find
+      memory leaks and reduce memory consumption. Developers use the Memory Analyzer to analyze
+      productive heap dumps with hundreds of millions of objects, quickly calculate the retained
+      sizes of objects, see who is preventing the Garbage Collector from collecting objects, and run
+      reports to automatically extract leak suspects. <br> <br> The PHP Development Tools project
+      provides a framework for the Eclipse platform. The project encompasses all development
+      components necessary to develop PHP and facilitate extensibility. It leverages the existing
+      Web Tools Platform (WTP) and Dynamic Languages Toolkit (DLTK) i in providing developers with
+      PHP capabilities. <br> <br> Andreas and Roy will talk about the new and noteworthy features
+      their respective projects will introduce in the Galileo release.
     </p>
   </div>
-
   <p>
-    2:00 pm - 2:45 pm EST<br><img
-      src="http://www.eclipse.org/newsgroups/images/plus.gif"
-      alt="Description" title="Description"> <b>Galileo In Action</b><br>
-    Jason Weathersby (Business Intelligence and Reporting Tools) and Mik
-    Kersten (Mylyn)
+    2:00 pm - 2:45 pm EST<br> <img src="http://www.eclipse.org/newsgroups/images/plus.gif"
+      alt="Description" title="Description"
+    > <b>Galileo In Action</b><br> Jason Weathersby (Business Intelligence and Reporting Tools) and
+    Mik Kersten (Mylyn)
   </p>
   <div id="action" class="switchcontent">
-    <p>Jason and Mik will take a look at Galileo from the perspective of
-      an Eclipse adopter. The release is important to Eclipse
-      developers, but there is also an impact to the end user of
-      commercial products based on Eclipse. Jason and Mik will discuss
-      how Galileo affects their product delivery and what value it
-      brings to their end customers.</p>
+    <p>Jason and Mik will take a look at Galileo from the perspective of an Eclipse adopter. The
+      release is important to Eclipse developers, but there is also an impact to the end user of
+      commercial products based on Eclipse. Jason and Mik will discuss how Galileo affects their
+      product delivery and what value it brings to their end customers.</p>
   </div>
-
   <p>
-    To attend, register through <a
-      href="https://www2.gotomeeting.com/register/207615571"
-      target="blank"> GoToMeeting</a>.
+    To attend, register through <a href="https://www2.gotomeeting.com/register/207615571"
+      target="blank"
+    > GoToMeeting</a>.
   </p>
-
   <p>
-    For an entertaining video describing what the virtual conference is
-    all about, see <a href="http://blip.tv/file/2183199" target="blank">Galileo
-      In Action!</a> on blip.tv:<br> <br> <a
-      href="http://blip.tv/file/2183199" target="blank"><img
-      src="images/WayneGalileo.png" width="200" height="151"
-      alt="Galileo In Action!"></a>
+    For an entertaining video describing what the virtual conference is all about, see <a
+      href="http://blip.tv/file/2183199" target="blank"
+    >Galileo In Action!</a> on blip.tv:<br> <br> <a href="http://blip.tv/file/2183199"
+      target="blank"
+    ><img src="images/WayneGalileo.png" width="200" height="151" alt="Galileo In Action!"></a>
   </p>
-
-</div>
-<div id="rightcolumn">
-  <div class="sideitem">
-    <h6>Galileo</h6>
-    <ul id="leftnav">
-      <li><a href="/downloads/packages/release/helios/sr2"
-        target="_self">Download Now</a></li>
-      <li><a
-        href="http://www.eclipse.org/projects/releases/releases.php?release=galileo"
-        target="_self">Galileo Projects</a></li>
-      <li><a href="/galileo/blogathon/reviews.php" target="_self">Blogathon</a></li>
-      <li><a href="/galileo/galileoinaction.php" target="_self">Virtual
-          Conference</a></li>
-      <li><a href="/galileo/friends.php" target="_self">Friends of
-          Galileo</a></li>
-    </ul>
-
-  </div>
 </div>
diff --git a/content/en_index.php b/content/en_index.php
index d105a24..a9fe0ef 100644
--- a/content/en_index.php
+++ b/content/en_index.php
@@ -1,15 +1,17 @@
 <?php
-/*******************************************************************************
- * Copyright(c) 2015 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
+/**
+ * Copyright (c) 2015, 2018 Eclipse Foundation.
+ *
+ * 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:
- *    Nathan Gervais (Eclipse Foundation) - Initial implementation
- *    Eric Poirier (Eclipse Foundation)
- *******************************************************************************/
+ *   Nathan Gervais (Eclipse Foundation) - Initial implementation
+ *   Eric Poirier (Eclipse Foundation)
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
 ?>
 <div class="galileo home col-sm-24">
   <div class="galileo_container">
diff --git a/content/en_projects.php b/content/en_projects.php
index aaa70d5..c6ce36d 100644
--- a/content/en_projects.php
+++ b/content/en_projects.php
@@ -1,15 +1,17 @@
 <?php
-/*******************************************************************************
- * Copyright(c) 2015 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
+/**
+ * Copyright (c) 2015, 2018 Eclipse Foundation.
+ *
+ * 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:
- *    Nathan Gervais (Eclipse Foundation) - Initial implementation
- *    Eric Poirier (Eclipse Foundation)
- *******************************************************************************/
+ *   Nathan Gervais (Eclipse Foundation) - Initial implementation
+ *   Eric Poirier (Eclipse Foundation)
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
 ?>
 <div id="midcolumn">
   <h2>Galileo Projects</h2>
@@ -24,1232 +26,1086 @@
       <td><b></b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.sdo"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a href="/modeling/emf/downloads/?project=sdo">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.sdo"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="/modeling/emf/downloads/?project=sdo">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b></b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.emf"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a href="/modeling/emf/downloads/?project=emf">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.emf"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="/modeling/emf/downloads/?project=emf">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b></b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.cdt.tcf"><img
-          src="images/homepage.gif"></a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.cdt.tcf"
+      ><img src="images/homepage.gif"></a></td>
       <td align="center"></td>
     </tr>
     <tr class="tableRow">
       <td><b></b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.gmt.umlx"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/modeling/gmt/downloads/?project=umlx">Download</a>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.gmt.umlx"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/modeling/gmt/downloads/?project=umlx">Download</a>
       </td>
     </tr>
     <tr class="tableRow">
       <td><b></b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.java-ee-config"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/java-ee-config/download.php">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.java-ee-config"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/java-ee-config/download.php">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Acceleo</b></td>
       <td align="center">0.8.0</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.m2t.acceleo"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/acceleo/download">Download</a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.m2t.acceleo"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/acceleo/download">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Accessibility Tools Framework</b></td>
       <td align="center">0.7.0</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.actf"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/actf/downloads/index.php">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.actf"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/actf/downloads/index.php">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Agent Modeling Platform</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.amp"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a href="http://eclipse.org/amp/installing/">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.amp"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://eclipse.org/amp/installing/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Amalgamation</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.amalgam"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/downloads/packages/">Download</a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.amalgam"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/downloads/packages/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>ATL</b></td>
       <td align="center">3.0.0</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mmt.atl"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://eclipse.org/mmt/downloads/?project=atl">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mmt.atl"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://eclipse.org/mmt/downloads/?project=atl">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>BPEL Designer</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=soa.bpel"><img
-          src="images/homepage.gif"></a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=soa.bpel"
+      ><img src="images/homepage.gif"></a></td>
       <td align="center"><a
-        href="https://hudson.eclipse.org/hudson/job/bpel-0.5/lastSuccessfulBuild/artifact/site/target/">Download</a>
-      </td>
+        href="https://hudson.eclipse.org/hudson/job/bpel-0.5/lastSuccessfulBuild/artifact/site/target/"
+      >Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>BPMN modeler</b></td>
       <td align="center">1.1</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=soa.bpmnmodeler"><img
-          src="images/homepage.gif"></a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=soa.bpmnmodeler"
+      ><img src="images/homepage.gif"></a></td>
       <td align="center"></td>
     </tr>
     <tr class="tableRow">
       <td><b>BPMN2 Modeler Project</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=soa.bpmn2-modeler"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/bpmn2-modeler/downloads.php">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=soa.bpmn2-modeler"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/bpmn2-modeler/downloads.php">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Buckminster Component Assembly</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.buckminster"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/buckminster/downloads.html">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.buckminster"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/buckminster/downloads.html">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Business Intelligence and Reporting Tools (BIRT)</b></td>
       <td align="center">2.5.0</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=birt"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://download.eclipse.org/birt/downloads/">Download</a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=birt"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://download.eclipse.org/birt/downloads/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>C/C++ Development Tooling (CDT)</b></td>
       <td align="center">6.0</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.cdt"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/cdt/downloads.php">Download</a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.cdt"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/cdt/downloads.php">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>CDO Model Repository</b></td>
       <td align="center">2.0.0</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.cdo"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a href="http://www.eclipse.org/cdo/downloads">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.cdo"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/cdo/downloads">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Code Recommenders</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.recommenders"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://eclipse.org/recommenders/download/">Download</a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.recommenders"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://eclipse.org/recommenders/download/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Dali Java Persistence Tools</b></td>
       <td align="center">2.2</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.dali"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/dali/downloads.html">Download</a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.dali"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/dali/downloads.html">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Data Tools Platform</b></td>
       <td align="center">1.7 (Galileo)</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=datatools"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/datatools/downloads.php">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=datatools"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/datatools/downloads.php">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Dynamic Languages Toolkit</b></td>
       <td align="center">1.0</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.dltk"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://download.eclipse.org/technology/dltk/downloads/">Download</a>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.dltk"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://download.eclipse.org/technology/dltk/downloads/">Download</a>
       </td>
     </tr>
     <tr class="tableRow">
       <td><b>Eclipse Communication Framework</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=rt.ecf"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/ecf/downloads.php">Download</a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=rt.ecf"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/ecf/downloads.php">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Eclipse Generation Factories (EGF)</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.egf"><img
-          src="images/homepage.gif"></a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.egf"
+      ><img src="images/homepage.gif"></a></td>
       <td align="center"><a
-        href="http://www.eclipse.org/downloads/download.php?file=/egf/tool/egf_1.0.0RC2/org.eclipse.egf_1.0.0.v20120528-1601.zip">Download</a>
-      </td>
+        href="http://www.eclipse.org/downloads/download.php?file=/egf/tool/egf_1.0.0RC2/org.eclipse.egf_1.0.0.v20120528-1601.zip"
+      >Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Eclipse Git Team Provider</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.egit"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a href="http://eclipse.org/egit/download">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.egit"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://eclipse.org/egit/download">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Eclipse Gyrex Project</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=rt.gyrex"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/gyrex/download/">Download</a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=rt.gyrex"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/gyrex/download/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Eclipse Modeling Framework (EMF)</b></td>
       <td align="center">2.5.0</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/modeling/emf/downloads/?project=emf">Download</a>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/modeling/emf/downloads/?project=emf">Download</a>
       </td>
     </tr>
     <tr class="tableRow">
       <td><b>Eclipse Packaging Project</b></td>
       <td align="center">1.1.0</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.packaging"><img
-          src="images/homepage.gif"></a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.packaging"
+      ><img src="images/homepage.gif"></a></td>
       <td align="center"><a href="/downloads/packages/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Eclipse Platform</b></td>
       <td align="center">3.5</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=eclipse.platform"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://download.eclipse.org/eclipse/downloads/">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=eclipse.platform"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://download.eclipse.org/eclipse/downloads/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Eclipse Project</b></td>
       <td align="center">3.5.0</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=eclipse"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a href="http://download.eclipse.org/eclipse/">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=eclipse"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://download.eclipse.org/eclipse/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Eclipse Runtime Packaging Project</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.packaging.rtp"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a href="http://eclipse.org/rtp/downloads/">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.packaging.rtp"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://eclipse.org/rtp/downloads/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Eclipse Scout</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.scout"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/scout/downloads/">Download</a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.scout"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/scout/downloads/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Eclipse Web Tools Platform Project</b></td>
       <td align="center">WTP 3.1.0 (Galileo)</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://download.eclipse.org/webtools/downloads/">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://download.eclipse.org/webtools/downloads/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>EclipseLink Project</b></td>
       <td align="center">1.1.2</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=rt.eclipselink"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/eclipselink/downloads/index.php">Download</a>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=rt.eclipselink"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/eclipselink/downloads/index.php">Download</a>
       </td>
     </tr>
     <tr class="tableRow">
       <td><b>Ecore Tools</b></td>
       <td align="center">0.9.0</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emft.ecoretools"><img
-          src="images/homepage.gif"></a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emft.ecoretools"
+      ><img src="images/homepage.gif"></a></td>
       <td align="center"><a
-        href="http://www.eclipse.org/modeling/emft/downloads/?project=ecoretools">Download</a>
-      </td>
+        href="http://www.eclipse.org/modeling/emft/downloads/?project=ecoretools"
+      >Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>EMF Compare</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emft.compare"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/modeling/emft/downloads/?project=compare">Download</a>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emft.compare"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/modeling/emft/downloads/?project=compare">Download</a>
       </td>
     </tr>
     <tr class="tableRow">
       <td><b>EMF Compare</b></td>
       <td align="center">1.0.1</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.compare"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/modeling/emf/downloads/?project=compare">Download</a>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.compare"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/modeling/emf/downloads/?project=compare">Download</a>
       </td>
     </tr>
     <tr class="tableRow">
       <td><b>EMF Diff/Merge</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.diffmerge"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://wiki.eclipse.org/EMF_DiffMerge/Download">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.diffmerge"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://wiki.eclipse.org/EMF_DiffMerge/Download">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>EMF Facet</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emft.emf-facet"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/modeling/emft/facet/downloads/">Download</a>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emft.emf-facet"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/modeling/emft/facet/downloads/">Download</a>
       </td>
     </tr>
     <tr class="tableRow">
       <td><b>EMF Query</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.query"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/modeling/emf/downloads/?project=query">Download</a>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.query"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/modeling/emf/downloads/?project=query">Download</a>
       </td>
     </tr>
     <tr class="tableRow">
       <td><b>EMF Query2</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.query2"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://download.eclipse.org/modeling/emf/query2/updates/1.0/">Download</a>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.query2"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://download.eclipse.org/modeling/emf/query2/updates/1.0/">Download</a>
       </td>
     </tr>
     <tr class="tableRow">
       <td><b>EMF Teneo Model Relational Mapping</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.teneo"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/modeling/emf/downloads/?project=teneo">Download</a>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.teneo"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/modeling/emf/downloads/?project=teneo">Download</a>
       </td>
     </tr>
     <tr class="tableRow">
       <td><b>EMF Transaction</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.transaction"><img
-          src="images/homepage.gif"></a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.transaction"
+      ><img src="images/homepage.gif"></a></td>
       <td align="center"><a
-        href="http://www.eclipse.org/modeling/emf/downloads/?project=transaction">Download</a>
-      </td>
+        href="http://www.eclipse.org/modeling/emf/downloads/?project=transaction"
+      >Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>EMF Validation</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.validation"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/modeling/emf/downloads/?project=validation">Download</a>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.validation"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/modeling/emf/downloads/?project=validation">Download</a>
       </td>
     </tr>
     <tr class="tableRow">
       <td><b>Enterprise Tools for the OSGi Service Platform</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.libra"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/libra/download.php">Download</a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.libra"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/libra/download.php">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Equinox</b></td>
       <td align="center">3.5</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=rt.equinox"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a href="http://download.eclipse.org/equinox/">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=rt.equinox"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://download.eclipse.org/equinox/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Equinox p2</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=rt.equinox.p2"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a href="http://download.eclipse.org/equinox/">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=rt.equinox.p2"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://download.eclipse.org/equinox/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Extended Editing Framework (EEF)</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emft.eef"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/modeling/emft/downloads/?project=eef">Download</a>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emft.eef"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/modeling/emft/downloads/?project=eef">Download</a>
       </td>
     </tr>
     <tr class="tableRow">
       <td><b>Fortran Development Tools (Photran)</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.ptp.photran"><img
-          src="images/homepage.gif"></a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.ptp.photran"
+      ><img src="images/homepage.gif"></a></td>
       <td align="center"></td>
     </tr>
     <tr class="tableRow">
       <td><b>Graphical Editing Framework (GEF)</b></td>
       <td align="center">3.5.0</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.gef"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/gef/downloads.php">Download</a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.gef"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/gef/downloads.php">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Graphical Modeling Framework</b></td>
       <td align="center">2.2.0</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.gmf"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/modeling/gmf/downloads/">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.gmf"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/modeling/gmf/downloads/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Graphical Modeling Framework (GMF) Notation</b></td>
       <td align="center">1.3.0</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.gmp.gmf-notation"><img
-          src="images/homepage.gif"></a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.gmp.gmf-notation"
+      ><img src="images/homepage.gif"></a></td>
       <td align="center"><a
-        href="http://www.eclipse.org/modeling/gmp/downloads/?project=gmf-notation">Download</a>
-      </td>
+        href="http://www.eclipse.org/modeling/gmp/downloads/?project=gmf-notation"
+      >Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Graphical Modeling Framework (GMF) Runtime</b></td>
       <td align="center">1.3.0</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.gmp.gmf-runtime"><img
-          src="images/homepage.gif"></a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.gmp.gmf-runtime"
+      ><img src="images/homepage.gif"></a></td>
       <td align="center"><a
-        href="http://www.eclipse.org/modeling/gmp/downloads/?project=gmf-runtime">Download</a>
-      </td>
+        href="http://www.eclipse.org/modeling/gmp/downloads/?project=gmf-runtime"
+      >Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Graphical Modeling Framework (GMF) Tooling</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.gmp.gmf-tooling"><img
-          src="images/homepage.gif"></a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.gmp.gmf-tooling"
+      ><img src="images/homepage.gif"></a></td>
       <td align="center"><a
-        href="http://www.eclipse.org/modeling/gmp/downloads/?project=gmf-tooling">Download</a>
-      </td>
+        href="http://www.eclipse.org/modeling/gmp/downloads/?project=gmf-tooling"
+      >Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Graphiti</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.gmp.graphiti"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/graphiti/download.php">Download</a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.gmp.graphiti"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/graphiti/download.php">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Hudson</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.hudson"><img
-          src="images/homepage.gif"></a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.hudson"
+      ><img src="images/homepage.gif"></a></td>
       <td align="center"></td>
     </tr>
     <tr class="tableRow">
       <td><b>Intent</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=mylyn.docs.intent"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/intent/download.php">Download</a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=mylyn.docs.intent"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/intent/download.php">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Java development tools debug</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=eclipse.jdt.debug"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://download.eclipse.org/eclipse/downloads/">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=eclipse.jdt.debug"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://download.eclipse.org/eclipse/downloads/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Java Emitter Templates (JET2)</b></td>
       <td align="center">M2T JET 1.0.0 (Galileo)</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.m2t.jet"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/modeling/m2t/downloads/?project=jet">Download</a>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.m2t.jet"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/modeling/m2t/downloads/?project=jet">Download</a>
       </td>
     </tr>
     <tr class="tableRow">
       <td><b>Java implementation of Git</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.jgit"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a href="http://www.eclipse.org/jgit/download/">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.jgit"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/jgit/download/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Java Workflow Tooling</b></td>
       <td align="center">JWT 0.6</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=soa.jwt"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://wiki.eclipse.org/JWT_Downloads#Current_Releases">Download</a>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=soa.jwt"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://wiki.eclipse.org/JWT_Downloads#Current_Releases">Download</a>
       </td>
     </tr>
     <tr class="tableRow">
       <td><b>JavaScript Development Tools</b></td>
       <td align="center">3.1 (Galileo)</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.jsdt"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://download.eclipse.org/webtools/downloads">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.jsdt"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://download.eclipse.org/webtools/downloads">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>JavaServer Faces</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.jsf"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://download.eclipse.org/webtools/downloads/">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.jsf"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://download.eclipse.org/webtools/downloads/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>JDT - Java development tools</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=eclipse.jdt"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://download.eclipse.org/eclipse/downloads/">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=eclipse.jdt"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://download.eclipse.org/eclipse/downloads/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Jetty - Servlet Engine and Http Server</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=rt.jetty"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/jetty/downloads.php">Download</a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=rt.jetty"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/jetty/downloads.php">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Jubula Functional Testing Tool</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.jubula"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/jubula/download.php">Download</a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.jubula"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/jubula/download.php">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Koneki</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.koneki"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/koneki/download.php">Download</a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.koneki"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/koneki/download.php">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Linux Tools</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.linuxtools"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/linuxtools/downloads.php">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.linuxtools"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/linuxtools/downloads.php">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Marketplace Client</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.packaging.mpc"><img
-          src="images/homepage.gif"></a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.packaging.mpc"
+      ><img src="images/homepage.gif"></a></td>
       <td align="center"></td>
     </tr>
     <tr class="tableRow">
       <td><b>Maven Integration</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.m2e"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a href="http://eclipse.org/m2e/download/">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.m2e"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://eclipse.org/m2e/download/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Maven Integration for Web Tools Platform</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.m2e.m2e-wtp"><img
-          src="images/homepage.gif"></a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.m2e.m2e-wtp"
+      ><img src="images/homepage.gif"></a></td>
       <td align="center"><a href="m2e-wtp/download/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>MDT UML2</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mdt.uml2"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a href="/modeling/mdt/downloads/?project=uml2">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mdt.uml2"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="/modeling/mdt/downloads/?project=uml2">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>MDT UML2 Tools</b></td>
       <td align="center">0.9.0 (Galileo)</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mdt.uml2-tools"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/modeling/mdt/downloads/?project=uml2tools">Download</a>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mdt.uml2-tools"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/modeling/mdt/downloads/?project=uml2tools">Download</a>
       </td>
     </tr>
     <tr class="tableRow">
       <td><b>MDT XSD (XML Schema Definition)</b></td>
       <td align="center">2.5.0</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mdt.xsd"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/modeling/mdt/downloads/?project=xsd">Download</a>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mdt.xsd"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/modeling/mdt/downloads/?project=xsd">Download</a>
       </td>
     </tr>
     <tr class="tableRow">
       <td><b>Memory Analyzer</b></td>
       <td align="center">0.8.0</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.mat"><img
-          src="images/homepage.gif"></a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.mat"
+      ><img src="images/homepage.gif"></a></td>
       <td align="center"><a href="/mat/downloads.php">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Memory Analyzer</b></td>
       <td align="center">0.8.0 (incubation)</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.mat"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/mat/downloads.php">Download</a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.mat"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/mat/downloads.php">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Mint</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emft.mint"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/modeling/emft/downloads/?project=mint">Download</a>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emft.mint"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/modeling/emft/downloads/?project=mint">Download</a>
       </td>
     </tr>
     <tr class="tableRow">
       <td><b>Mobile Tools for Java</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.sequoyah.mtj"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://download.eclipse.org/dsdp/mtj/downloads/index.php">Download</a>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.sequoyah.mtj"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://download.eclipse.org/dsdp/mtj/downloads/index.php">Download</a>
       </td>
     </tr>
     <tr class="tableRow">
       <td><b>Model Development Tools (MDT)</b></td>
       <td align="center">Galileo</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mdt"><img
-          src="images/homepage.gif"></a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mdt"
+      ><img src="images/homepage.gif"></a></td>
       <td align="center"><a href="/modeling/mdt/downloads/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Model Discovery</b></td>
       <td align="center">MoDisco 0.7.0</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.gmt.modisco"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/gmt/modisco/download/">Download</a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.gmt.modisco"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/gmt/modisco/download/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Model Focusing Tools</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=mylyn.context.mft"><img
-          src="images/homepage.gif"></a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=mylyn.context.mft"
+      ><img src="images/homepage.gif"></a></td>
       <td align="center"></td>
     </tr>
     <tr class="tableRow">
       <td><b>Model To Text (M2T)</b></td>
       <td align="center">Galileo (xpand 0.7, acceleo 0.8, jet 1.0)</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.m2t"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/modeling/m2t/downloads/">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.m2t"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/modeling/m2t/downloads/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Model-to-Model Transformation (MMT)</b></td>
       <td align="center">Galileo</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mmt"><img
-          src="images/homepage.gif"></a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mmt"
+      ><img src="images/homepage.gif"></a></td>
       <td align="center"><a href="/mmt/downloads/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Modeling Team Framework</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emft.mtf"><img
-          src="images/homepage.gif"></a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emft.mtf"
+      ><img src="images/homepage.gif"></a></td>
       <td align="center"></td>
     </tr>
     <tr class="tableRow">
       <td><b>Modeling Workflow Engine</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.mwe"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/modeling/emft/downloads/?project=mwe">Download</a>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.mwe"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/modeling/emft/downloads/?project=mwe">Download</a>
       </td>
     </tr>
     <tr class="tableRow">
       <td><b>modeling.emft.mwe</b></td>
       <td align="center">MWE 0.7.0 (Galileo)</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emft.mwe"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/modeling/emft/downloads/?project=mwe">Download</a>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emft.mwe"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/modeling/emft/downloads/?project=mwe">Download</a>
       </td>
     </tr>
     <tr class="tableRow">
       <td><b>MoDisco</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mdt.modisco"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/MoDisco/downloads/">Download</a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mdt.modisco"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/MoDisco/downloads/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Mylyn</b></td>
       <td align="center">3.2</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.mylyn"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/mylyn/downloads">Download</a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.mylyn"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/mylyn/downloads">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Mylyn</b></td>
       <td align="center">3.2</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=mylyn"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/mylyn/downloads">Download</a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=mylyn"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/mylyn/downloads">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Mylyn Builds</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=mylyn.builds"><img
-          src="images/homepage.gif"></a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=mylyn.builds"
+      ><img src="images/homepage.gif"></a></td>
       <td align="center"><a href="/mylyn/downloads/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Mylyn Commons</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=mylyn.commons"><img
-          src="images/homepage.gif"></a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=mylyn.commons"
+      ><img src="images/homepage.gif"></a></td>
       <td align="center"><a href="/mylyn/downloads/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Mylyn Context</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=mylyn.context"><img
-          src="images/homepage.gif"></a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=mylyn.context"
+      ><img src="images/homepage.gif"></a></td>
       <td align="center"><a href="/mylyn/downloads/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Mylyn Docs</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=mylyn.docs"><img
-          src="images/homepage.gif"></a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=mylyn.docs"
+      ><img src="images/homepage.gif"></a></td>
       <td align="center"><a href="/mylyn/downloads/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Mylyn Reviews</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=mylyn.reviews"><img
-          src="images/homepage.gif"></a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=mylyn.reviews"
+      ><img src="images/homepage.gif"></a></td>
       <td align="center"><a href="/mylyn/downloads/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Mylyn Tasks</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=mylyn.tasks"><img
-          src="images/homepage.gif"></a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=mylyn.tasks"
+      ><img src="images/homepage.gif"></a></td>
       <td align="center"><a href="/mylyn/downloads/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Mylyn Versions</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=mylyn.versions"><img
-          src="images/homepage.gif"></a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=mylyn.versions"
+      ><img src="images/homepage.gif"></a></td>
       <td align="center"><a href="/mylyn/downloads/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Net4j Signalling Platform</b></td>
       <td align="center">2.0.0</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.net4j"><img
-          src="images/homepage.gif"></a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.net4j"
+      ><img src="images/homepage.gif"></a></td>
       <td align="center"><a
-        href="http://www.eclipse.org/modeling/emf/downloads/index.php?project=net4j">Download</a>
-      </td>
+        href="http://www.eclipse.org/modeling/emf/downloads/index.php?project=net4j"
+      >Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Object Teams</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.objectteams"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/objectteams/download.php">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.objectteams"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/objectteams/download.php">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>OCL (Object Constraint Language)</b></td>
       <td align="center">1.3 (Galileo)</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mdt.ocl"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/modeling/mdt/downloads/?project=ocl">Download</a>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mdt.ocl"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/modeling/mdt/downloads/?project=ocl">Download</a>
       </td>
     </tr>
     <tr class="tableRow">
       <td><b>Orion</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=eclipse.orion"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a href="http://download.eclipse.org/orion/">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=eclipse.orion"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://download.eclipse.org/orion/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Papyrus</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mdt.papyrus"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/modeling/mdt/papyrus/downloads/">Download</a>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mdt.papyrus"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/modeling/mdt/papyrus/downloads/">Download</a>
       </td>
     </tr>
     <tr class="tableRow">
       <td><b>Parallel Tools Platform (PTP)</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.ptp"><img
-          src="images/homepage.gif"></a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.ptp"
+      ><img src="images/homepage.gif"></a></td>
       <td align="center"><a href="/ptp/downloads.php">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>PDE - Plugin Development Environment</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=eclipse.pde"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://download.eclipse.org/eclipse/downloads/">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=eclipse.pde"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://download.eclipse.org/eclipse/downloads/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>PHP Development Tools</b></td>
       <td align="center">2.2.0</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.pdt"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://download.eclipse.org/tools/pdt/downloads/index.php">Download</a>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.pdt"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://download.eclipse.org/tools/pdt/downloads/index.php">Download</a>
       </td>
     </tr>
     <tr class="tableRow">
       <td><b>Platform Ant</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=eclipse.platform.ant"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://download.eclipse.org/eclipse/downloads/">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=eclipse.platform.ant"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://download.eclipse.org/eclipse/downloads/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>QVT Operational</b></td>
       <td align="center">2.0.0</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mmt.qvt-oml"><img
-          src="images/homepage.gif"></a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mmt.qvt-oml"
+      ><img src="images/homepage.gif"></a></td>
       <td align="center"><a
-        href="http://www.eclipse.org/mmt/downloads/index.php?project=qvto&showAll=0&showMax=5">Download</a>
-      </td>
+        href="http://www.eclipse.org/mmt/downloads/index.php?project=qvto&showAll=0&showMax=5"
+      >Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Remote Application Platform</b></td>
       <td align="center">1.2</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=rt.rap"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a href="http://www.eclipse.org/rap/downloads/">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=rt.rap"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/rap/downloads/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Riena Project</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=rt.riena"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://wiki.eclipse.org/Riena_Getting_started">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=rt.riena"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://wiki.eclipse.org/Riena_Getting_started">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Sapphire</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.sapphire"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/sapphire/downloads/index.php">Download</a>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.sapphire"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/sapphire/downloads/index.php">Download</a>
       </td>
     </tr>
     <tr class="tableRow">
       <td><b>SCA Tools</b></td>
       <td align="center">2.0.0</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=soa.sca"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a href="http://wiki.eclipse.org/SCA#Install">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=soa.sca"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://wiki.eclipse.org/SCA#Install">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Sequoyah</b></td>
       <td align="center">0.3</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.sequoyah"><img
-          src="images/homepage.gif"></a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.sequoyah"
+      ><img src="images/homepage.gif"></a></td>
       <td align="center"><a href="/sequoyah/downloads/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Server Tools</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.servertools"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://download.eclipse.org/webtools/downloads/">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.servertools"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://download.eclipse.org/webtools/downloads/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Sketch</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.sketch"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/sketch/download.php">Download</a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.sketch"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/sketch/download.php">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>SOA Tools</b></td>
       <td align="center">2.0</td>
-      <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=stp"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/stp/download.php">Download</a></td>
+      <td align="center"><a href="http://www.eclipse.org/projects/project_summary.php?projectid=stp"><img
+          src="images/homepage.gif"
+        ></a></td>
+      <td align="center"><a href="http://www.eclipse.org/stp/download.php">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Sphinx</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mdt.sphinx"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/sphinx/download.php">Download</a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mdt.sphinx"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/sphinx/download.php">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Stardust</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=soa.stardust"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a href="http://git.eclipse.org/c/q=stardust">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=soa.stardust"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://git.eclipse.org/c/q=stardust">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Subversive - SVN Team Provider</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.subversive"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/subversive/downloads.php">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.subversive"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/subversive/downloads.php">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Swordfish</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=soa.swordfish"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/swordfish/downloads">Download</a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=soa.swordfish"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/swordfish/downloads">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Target Management</b></td>
       <td align="center">3.1</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.tm"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://download.eclipse.org/tm/downloads/index.php">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.tm"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://download.eclipse.org/tm/downloads/index.php">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b> Test and Performance Tools Platform Project</b></td>
       <td align="center">4.6.0</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=tptp"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/tptp/home/downloads/downloads.php">Download</a>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=tptp"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/tptp/home/downloads/downloads.php">Download</a>
       </td>
     </tr>
     <tr class="tableRow">
       <td><b>VE - Visual Editor</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.ve"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://download.eclipse.org/tools/ve/downloads/">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.ve"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://download.eclipse.org/tools/ve/downloads/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Virgo</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=rt.virgo"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/virgo/download/">Download</a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=rt.virgo"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/virgo/download/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Web Services Tools</b></td>
       <td align="center">WTP 3.1</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.webservices"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://download.eclipse.org/webtools/downloads/">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.webservices"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://download.eclipse.org/webtools/downloads/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>WindowBuilder</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.windowbuilder"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a href="/windowbuilder/download.php">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.windowbuilder"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="/windowbuilder/download.php">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>WTP Common Tools</b></td>
       <td align="center">3.1 (Galileo)</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.common"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://download.eclipse.org/webtools/downloads/">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.common"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://download.eclipse.org/webtools/downloads/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>WTP EJB Tools</b></td>
       <td align="center">WTP 3.1 (Galileo)</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.ejbtools"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://download.eclipse.org/webtools/downloads/">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.ejbtools"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://download.eclipse.org/webtools/downloads/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>WTP Java EE Tools</b></td>
       <td align="center">WTP 3.1 (Galileo)</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.jeetools"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://download.eclipse.org/webtools/downloads/">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.jeetools"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://download.eclipse.org/webtools/downloads/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>WTP Source Editing</b></td>
       <td align="center">3.1.0 (Galileo)</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.sourceediting"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://download.eclipse.org/webtools/downloads/">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.sourceediting"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://download.eclipse.org/webtools/downloads/">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Xpand</b></td>
       <td align="center">Xpand 0.7.0 - Galileo</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.m2t.xpand"><img
-          src="images/homepage.gif"></a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.m2t.xpand"
+      ><img src="images/homepage.gif"></a></td>
       <td align="center"><a
-        href="http://www.eclipse.org/modeling/m2t/downloads/?showAll=0&project=xpand">Download</a>
-      </td>
+        href="http://www.eclipse.org/modeling/m2t/downloads/?showAll=0&project=xpand"
+      >Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Xtend</b></td>
       <td align="center"></td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.xtend"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a href="http://www.eclipse.org/xtend">Download</a>
-      </td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.xtend"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/xtend">Download</a></td>
     </tr>
     <tr class="tableRow">
       <td><b>Xtext</b></td>
       <td align="center">0.7.0</td>
       <td align="center"><a
-        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.tmf.xtext"><img
-          src="images/homepage.gif"></a></td>
-      <td align="center"><a
-        href="http://www.eclipse.org/Xtext/download/">Download</a></td>
+        href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.tmf.xtext"
+      ><img src="images/homepage.gif"></a></td>
+      <td align="center"><a href="http://www.eclipse.org/Xtext/download/">Download</a></td>
     </tr>
   </table>
 </div>
-
-<div id="rightcolumn">
-  <div class="sideitem">
-    <h6>Galileo</h6>
-    <ul id="leftnav">
-      <li><a href="/downloads/" target="_self">Download Now</a></li>
-      <li><a href="/galileo/projects.php" target="_self">Galileo
-          Projects</a></li>
-      <li><a href="/galileo/friends.php" target="_self">Galileo Friends
-          of Eclipse</a></li>
-      <li><a href="/galileo/blogathon/reviews.php" target="_self">Galileo
-          Blog-A-Thon</a></li>
-      <li><a href="/galileo/galileoinaction.php" target="_self">Galileo
-          in Action</a></li>
-    </ul>
-
-  </div>
-</div>
\ No newline at end of file
diff --git a/friends.php b/friends.php
index 170e950..89a5c3d 100644
--- a/friends.php
+++ b/friends.php
@@ -1,35 +1,32 @@
 <?php
-/*******************************************************************************
- * Copyright(c) 2015 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
+/**
+ * Copyright (c) 2015, 2018 Eclipse Foundation.
+ *
+ * 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:
- *    Nathan Gervais (Eclipse Foundation) - Initial implementation
- *    Eric Poirier (Eclipse Foundation)
- *******************************************************************************/
-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");
+ *   Nathan Gervais (Eclipse Foundation) - Initial implementation
+ *   Eric Poirier (Eclipse Foundation)
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
+require_once ($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.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'
+$Theme = $App->getThemeClass();
 
+include ($App->getProjectCommon());
 
-// Begin: page-specific settings. Change these.
-$pageTitle 		= "Friends of Eclipse";
-$pageKeywords	= "Friends of Eclipse, Galileo";
-$pageAuthor		= "Nathan Gervais";
+$pageTitle = "Friends of Eclipse";
+$Theme->setPageTitle($pageTitle);
+$Theme->setPageKeywords("Friends of Eclipse, Galileo");
+$Theme->setPageAuthor("Eclipse Foundation, Inc.");
 
-// Place your html content in a file called content/en_pagename.php
 ob_start();
-include("content/en_" . $App->getScriptName());
+include ("content/en_" . $App->getScriptName());
 $html = ob_get_clean();
 
-# Generate the web page
-$App->AddExtraHtmlHeader('<link type="text/css" href="/galileo/style.css" rel="stylesheet"/>');
-$App->generatePage(NULL, $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
\ No newline at end of file
+$Theme->setHtml($html);
+$Theme->generatePage();
\ No newline at end of file
diff --git a/galileoinaction.php b/galileoinaction.php
index 64b7cf9..6e61799 100644
--- a/galileoinaction.php
+++ b/galileoinaction.php
@@ -1,35 +1,32 @@
 <?php
-/*******************************************************************************
- * Copyright(c) 2015 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
+/**
+ * Copyright (c) 2015, 2018 Eclipse Foundation.
+ *
+ * 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:
- *    Nathan Gervais (Eclipse Foundation) - Initial implementation
- *    Eric Poirier (Eclipse Foundation)
- *******************************************************************************/
-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");
+ *   Nathan Gervais (Eclipse Foundation) - Initial implementation
+ *   Eric Poirier (Eclipse Foundation)
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
+require_once ($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.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'
+$Theme = $App->getThemeClass();
 
+include ($App->getProjectCommon());
 
-// Begin: page-specific settings. Change these.
-$pageTitle 		= "Galileo In Action";
-$pageKeywords	= "eclipse, Galileo, action, webinar, release, virtual conference";
-$pageAuthor		= "Lynn Gayowski";
+$pageTitle = "Galileo In Action";
+$Theme->setPageTitle($pageTitle);
+$Theme->setPageKeywords("eclipse, Galileo, action, webinar, release, virtual conference");
+$Theme->setPageAuthor("Lynn Gayowski");
 
-// Place your html content in a file called content/en_pagename.php
 ob_start();
-include("content/en_" . $App->getScriptName());
+include ("content/en_" . $App->getScriptName());
 $html = ob_get_clean();
 
-# Generate the web page
-$App->AddExtraHtmlHeader('<link type="text/css" href="/galileo/style.css" rel="stylesheet"/>');
-$App->generatePage(NULL, $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
\ No newline at end of file
+$Theme->setHtml($html);
+$Theme->generatePage();
\ No newline at end of file
diff --git a/index.php b/index.php
index 2c8938a..03fe819 100644
--- a/index.php
+++ b/index.php
@@ -1,35 +1,33 @@
 <?php
-/*******************************************************************************
- * Copyright(c) 2015 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
+/**
+ * Copyright (c) 2015, 2018 Eclipse Foundation.
+ *
+ * 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:
- *    Nathan Gervais (Eclipse Foundation) - Initial implementation
- *    Eric Poirier (Eclipse Foundation)
- *******************************************************************************/
-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");
+ *   Nathan Gervais (Eclipse Foundation) - Initial implementation
+ *   Eric Poirier (Eclipse Foundation)
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
+require_once ($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.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'
+$Theme = $App->getThemeClass();
 
+$App->setOutDated('2011-11-11', '<a href="https://projects.eclipse.org/releases/galileo">Galileo</a> is a past version of Eclipse. Please visit our <a href="/downloads/">download</a> page for the latest version of Eclipse. ');
 
-// Begin: page-specific settings. Change these.
-$pageTitle 		= "Eclipse.org - Galileo Is Here!";
-$pageKeywords	= "eclipse Galileo, Galileo, Galileo release train";
-$pageAuthor		= "Eclipse Foundation, Inc.";
+$pageTitle = "Eclipse.org - Galileo Is Here!";
+$Theme->setPageTitle($pageTitle);
+$Theme->setPageKeywords("eclipse Galileo, Galileo, Galileo release train");
+$Theme->setPageAuthor("Eclipse Foundation, Inc.");
 
-// Place your html content in a file called content/en_pagename.php
 ob_start();
-include("content/en_" . $App->getScriptName());
+include ("content/en_" . $App->getScriptName());
 $html = ob_get_clean();
 
-# Generate the web page
 $App->AddExtraHtmlHeader('<link type="text/css" href="/galileo/style.css" rel="stylesheet"/>');
-$App->generatePage(NULL, $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
\ No newline at end of file
+$Theme->setHtml($html);
+$Theme->generatePage();
\ No newline at end of file
diff --git a/projects.php b/projects.php
index 5e31cb4..e7a1adc 100644
--- a/projects.php
+++ b/projects.php
@@ -1,35 +1,32 @@
 <?php
-/*******************************************************************************
- * Copyright(c) 2015 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
+/**
+ * Copyright (c) 2015, 2018 Eclipse Foundation.
+ *
+ * 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:
- *    Nathan Gervais (Eclipse Foundation) - Initial implementation
- *    Eric Poirier (Eclipse Foundation)
- *******************************************************************************/
-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");
+ *   Nathan Gervais (Eclipse Foundation) - Initial implementation
+ *   Eric Poirier (Eclipse Foundation)
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ */
+require_once ($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.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'
+$Theme = $App->getThemeClass();
 
+include ($App->getProjectCommon());
 
-// Begin: page-specific settings. Change these.
-$pageTitle 		= "Eclipse Galileo Release Projects";
-$pageKeywords	= "eclipse Galileo, Galileo, Galileo release train";
-$pageAuthor		= "Nathan Gervais";
+$pageTitle = "Eclipse Galileo Release Projects";
+$Theme->setPageTitle($pageTitle);
+$Theme->setPageKeywords("eclipse Galileo, Galileo, Galileo release train");
+$Theme->setPageAuthor("Nathan Gervais");
 
-// Place your html content in a file called content/en_pagename.php
 ob_start();
-include("content/en_" . $App->getScriptName());
+include ("content/en_" . $App->getScriptName());
 $html = ob_get_clean();
 
-# Generate the web page
-$App->AddExtraHtmlHeader('<link type="text/css" href="/galileo/style.css" rel="stylesheet"/>');
-$App->generatePage(NULL, $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
+$Theme->setHtml($html);
+$Theme->generatePage();
diff --git a/style.css b/style.css
index 131f0c3..60c8fce 100644
--- a/style.css
+++ b/style.css
@@ -1,102 +1,110 @@
 @CHARSET "ISO-8859-1";
 
-#novaContent .home{
-	color:#FFF;	
-	width:979px;
-	position:relative;
+#novaContent .home {
+  color: #FFF;
+  width: 979px;
+  position: relative;
 }
 
 .galileo {
-	background:#000 url('images/galileo.jpg') no-repeat;);
-	min-height:600px;
+  background: #000 url('images/galileo.jpg') no-repeat; );
+  min-height: 600px;
 }
 
 .galileo_container {
-	position:relative;	
+  position: relative;
 }
 
 .description {
-	font-size:14px;
-	line-height:24px;
-	position:absolute;
-	top:280px;
-	width:500px;
+  font-size: 14px;
+  line-height: 24px;
+  position: absolute;
+  top: 280px;
+  width: 500px;
 }
 
 #linkBlock {
-	position:absolute;
-	right:0px;
+  position: absolute;
+  right: 0px;
 }
 
 #linkBlock ul {
-margin:0px;
-padding:0px;
+  margin: 0px;
+  padding: 0px;
 }
 
 #linkBlock ul li {
-	margin:0px;
-	padding:0px;
-	display:block;
-	list-style-image:none;	
-	width:400px;	
+  margin: 0px;
+  padding: 0px;
+  display: block;
+  list-style-image: none;
+  width: 400px;
 }
 
 #linkBlock ul li a {
-	display:block;	
-	text-decoration:none;	
-	height:100px; 
-	
+  display: block;
+  text-decoration: none;
+  height: 100px;
 }
 
 .download a {
-	background:transparent url('images/white.jpg') no-repeat 0px 0px;
+  background: transparent url('images/white.jpg') no-repeat 0px 0px;
 }
-.projects a { 
-	background:transparent url('images/white.jpg') no-repeat 0px -100px;
+
+.projects a {
+  background: transparent url('images/white.jpg') no-repeat 0px -100px;
 }
+
 .nest a {
-	background:transparent url('images/white.jpg') no-repeat 0px -200px;
+  background: transparent url('images/white.jpg') no-repeat 0px -200px;
 }
+
 .friends a {
-	background:transparent url('images/white.jpg') no-repeat 0px -300px;
+  background: transparent url('images/white.jpg') no-repeat 0px -300px;
 }
+
 .blog a {
-	background:transparent url('images/white.jpg') no-repeat 0px -400px;
+  background: transparent url('images/white.jpg') no-repeat 0px -400px;
 }
+
 .action a {
-	background:transparent url('images/white.jpg') no-repeat 0px -500px;
+  background: transparent url('images/white.jpg') no-repeat 0px -500px;
 }
 
+.download a:hover {
+  background: transparent url('images/hover.jpg') no-repeat 0px 0px;
+}
 
-.download a:hover{
-	background:transparent url('images/hover.jpg') no-repeat 0px 0px;
+.projects a:hover {
+  background: transparent url('images/hover.jpg') no-repeat 0px -100px;
 }
-.projects a:hover{
-	background:transparent url('images/hover.jpg') no-repeat 0px -100px;
+
+.nest a:hover {
+  background: transparent url('images/hover.jpg') no-repeat 0px -200px;
 }
-.nest a:hover{
-	background:transparent url('images/hover.jpg') no-repeat 0px -200px;
+
+.friends a:hover {
+  background: transparent url('images/hover.jpg') no-repeat 0px -300px;
 }
-.friends a:hover{
-	background:transparent url('images/hover.jpg') no-repeat 0px -300px;	
-}	
-.blog a:hover{
-	background:transparent url('images/hover.jpg') no-repeat 0px -400px;
+
+.blog a:hover {
+  background: transparent url('images/hover.jpg') no-repeat 0px -400px;
 }
-.action a:hover{
-	background:transparent url('images/hover.jpg') no-repeat 0px -500px;
+
+.action a:hover {
+  background: transparent url('images/hover.jpg') no-repeat 0px -500px;
 }
 
 .homepage {
-	position:absolute;
-	top:560px;
-	clear:both;
-	text-align:center;
+  position: absolute;
+  top: 560px;
+  clear: both;
+  text-align: center;
 }
 
 .homepage a {
-	color:#CCC;
-	font-size:16px;
+  color: #CCC;
+  font-size: 16px;
 }
 
 .item_contents {
