diff --git a/LICENSE.txt b/LICENSE
similarity index 100%
rename from LICENSE.txt
rename to LICENSE
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..f5d4e61
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,157 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<project>
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.apache.velocity</groupId>
+  <artifactId>velocity-site</artifactId>
+  <version>1.0.0</version>
+  <name>Apache Velocity Site</name>
+  <url>http://velocity.apache.org/</url>
+  <description>The Apache Velocity Site</description>
+  <inceptionYear>2006</inceptionYear>
+
+  <organization>
+    <name>The Apache Software Foundation</name>
+    <url>http://www.apache.org/</url>
+  </organization>
+
+  <distributionManagement>
+    <site>
+      <id>velocity.apache.org</id>
+      <url>scp://people.apache.org/www/velocity.apache.org/</url>
+    </site>
+  </distributionManagement>
+
+  <build>
+    <defaultGoal>site:site</defaultGoal>
+  </build>
+
+  <licenses>
+    <license>
+      <name>Apache 2</name>
+       <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+       <distribution>repo</distribution>
+       <comments>The Apache Software License 2.0</comments>
+     </license>
+  </licenses>
+
+  <issueManagement>
+    <system>JIRA</system>
+    <url>https://issues.apache.org/jira/</url>
+  </issueManagement>
+
+  <developers>
+
+    <developer>
+      <name>Nathan Bubna</name>
+      <id>nbubna</id>
+      <email>nathan@esha.com</email>
+      <organization>ESHA Research</organization>
+      <roles>
+        <role>Java Developer</role>
+        <role>PMC Member</role>
+      </roles>
+    </developer>
+
+    <developer>
+      <name>Will Glass-Husain</name>
+      <id>wglass</id>
+      <email>wglass@forio.com</email>
+      <organization>Forio Business Simulations</organization>
+      <roles>
+        <role>Java Developer</role>
+        <role>PMC Member</role>
+      </roles>
+    </developer>
+
+    <developer>
+      <name>Marinó A. Jónsson</name>
+      <id>marino</id>
+      <email>marinoj@centrum.is</email>
+      <roles>
+        <role>Java Developer</role>
+        <role>PMC Member</role>
+      </roles>
+    </developer>
+
+   <developer>
+      <name>Geir Magnusson Jr.</name>
+      <id>geirm</id>
+      <email>geirm@optonline.net</email>
+      <organization>Independent (DVSL Maven)</organization>
+      <roles>
+        <role>Java Developer</role>
+        <role>PMC Member</role>
+      </roles>
+    </developer>
+
+    <developer>
+      <name>Daniel Rall</name>
+      <id>dlr</id>
+      <email>dlr@finemaltcoding.com</email>
+      <organization>CollabNet, Inc.</organization>
+      <roles>
+        <role>Java Developer</role>
+        <role>PMC Member</role>
+      </roles>
+    </developer>
+
+    <developer>
+      <name>Henning P. Schmiedehausen</name>
+      <id>henning</id>
+      <email>hps@intermeta.de</email>
+      <organization>INTERMETA - Gesellschaft für Mehrwertdienste mbH</organization>
+      <roles>
+        <role>Java Developer</role>
+        <role>PMC Chair</role>
+      </roles>
+      <timezone>2</timezone>
+    </developer>
+
+  </developers>
+
+  <mailingLists>
+    <mailingList>
+      <name>Velocity Project - General Discussion List</name>
+      <subscribe>general-subscribe@velocity.apache.org</subscribe>
+      <unsubscribe>general-unsubscribe@velocity.apache.org</unsubscribe>
+      <post>general@velocity.apache.org</post>
+      <archive>http://mail-archives.apache.org/mod_mbox/velocity-general/</archive>
+    </mailingList>
+
+    <mailingList>
+      <name>Velocity User List</name>
+      <subscribe>user-subscribe@velocity.apache.org</subscribe>
+      <unsubscribe>user-unsubscribe@velocity.apache.org</unsubscribe>
+      <post>user@velocity.apache.org</post>
+      <archive>http://mail-archives.apache.org/mod_mbox/velocity-user/</archive>
+    </mailingList>
+
+    <mailingList>
+      <name>Velocity Development List</name>
+      <subscribe>dev-subscribe@velocity.apache.org</subscribe>
+      <unsubscribe>dev-unsubscribe@velocity.apache.org</unsubscribe>
+      <post>dev@velocity.apache.org</post>
+      <archive>http://mail-archives.apache.org/mod_mbox/velocity-dev/</archive>
+    </mailingList>
+  </mailingLists>
+
+  <scm>
+    <connection>scm:svn:http://svn.apache.org/repos/asf/velocity/site/trunk/</connection>
+    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/velocity/site/trunk/</developerConnection>
+    <tag>HEAD</tag>
+    <url>http://svn.apache.org/viewvc/velocity/site/trunk/</url>
+  </scm>
+
+  <reporting>
+    <plugins>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-project-info-reports-plugin</artifactId>
+        <reportSets>
+           <reportSet/>
+        </reportSets>
+      </plugin>
+    </plugins>
+  </reporting>
+</project>
diff --git a/project.properties b/project.properties
deleted file mode 100644
index 6036d71..0000000
--- a/project.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-# -------------------------------------------------------------------
-# P R O J E C T  P R O P E R T I E S
-#
-# $Id$
-#
-# Do not change this file. Please use build.properties in this directory
-# to do site or installation specific changes to the project build.
-# -------------------------------------------------------------------
-
-# display the date on the site
-maven.xdoc.date = bottom
-maven.xdoc.locale.default = en
-
-# No ideology without asking
-maven.xdoc.developmentProcessUrl= 
-maven.xdoc.includeProjectDocumentation= no
-maven.xdoc.theme= velocity
-
-# No version here
-maven.xdoc.version=
diff --git a/project.xml b/project.xml
deleted file mode 100644
index eb832b4..0000000
--- a/project.xml
+++ /dev/null
@@ -1,104 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project>
-
-  <pomVersion>3</pomVersion>
-  <id>velocity-site</id>
-  <groupId>jakarta</groupId>
-  <name>The Apache Jakarta Project</name>
-  <currentVersion>1.0</currentVersion>
-  <organization>
-    <name>Apache Software Foundation</name>
-    <url>http://jakarta.apache.org/</url>
-    <logo>/images/jakarta.png</logo>
-  </organization>
-  <inceptionYear>2000</inceptionYear>
-  <logo>/images/newlogo.png</logo>
-  
-  <description>
-    This is the site module from the Apache Jakarta Velocity project.
-  </description>
-
-  <shortDescription>Apache Jakarta Velocity site module</shortDescription>
-
-  <url>http://jakarta.apache.org/velocity/</url>
-  <siteAddress>people.apache.org</siteAddress>
-  <siteDirectory>/www/jakarta.apache.org/velocity/site/</siteDirectory>
-
-  <mailingLists>
-    <mailingList>
-      <name>Velocity User List</name>
-      <subscribe>velocity-user-subscribe@jakarta.apache.org</subscribe>
-      <unsubscribe>velocity-user-unsubscribe@jakarta.apache.org</unsubscribe>
-      <archive>http://mail-archives.apache.org/mod_mbox/jakarta-velocity-user</archive>
-    </mailingList>
-    <mailingList>
-      <name>Velocity Developer List</name>
-      <subscribe>velocity-dev-subscribe@jakarta.apache.org</subscribe>
-      <unsubscribe>velocity-dev-unsubscribe@jakarta.apache.org</unsubscribe>
-      <archive>http://mail-archives.apache.org/mod_mbox/jakarta-velocity-dev</archive>
-    </mailingList>
-  </mailingLists>
-
-  <developers>
-
-    <developer>
-      <name>Will Glass-Husain</name>
-      <id>wglass</id>
-      <email>wglass@forio.com</email>
-      <organization>Forio Business Simulations</organization>
-      <roles>
-        <role>Java Developer</role>
-      </roles>
-    </developer>
-
-   <developer>
-      <name>Geir Magnusson Jr.</name>
-      <id>geirm</id>
-      <email>geirm@optonline.net</email>
-      <organization>Independent (DVSL Maven)</organization>
-      <roles>
-        <role>Java Developer</role>
-      </roles>
-    </developer>
-
-    <developer>
-      <name>Daniel Rall</name>
-      <id>dlr</id>
-      <email>dlr@finemaltcoding.com</email>
-      <organization>CollabNet, Inc.</organization>
-      <roles>
-        <role>Java Developer</role>
-      </roles>
-    </developer>
-
-    <developer>
-      <name>Henning P. Schmiedehausen</name>
-      <id>henning</id>
-      <email>hps@intermeta.de</email>
-      <organization>INTERMETA - Gesellschaft für Mehrwertdienste mbH</organization>
-      <roles>
-        <role>Java Developer</role>
-      </roles>
-      <timezone>2</timezone>
-    </developer>
-
-    <developer>
-      <name>Nathan Bubna</name>
-      <id>nbubna</id>
-      <email>nathan@esha.com</email>
-      <organization>ESHA Research</organization>
-      <roles>
-        <role>Java Developer</role>
-      </roles>
-    </developer>
-  </developers>
-
-  <contributors/>
-
-  <reports>
-    <report>maven-license-plugin</report>
-<!-- The link check report is not referenced from the site but useful to check whether a referenced link has been broken -->
-    <report>maven-linkcheck-plugin</report>
-  </reports>
-</project>
-
diff --git a/src/site/xdoc/stylesheets/maven-velocity.css b/src/site/resources/css/site.css
similarity index 95%
rename from src/site/xdoc/stylesheets/maven-velocity.css
rename to src/site/resources/css/site.css
index 0ea284a..73d840f 100644
--- a/src/site/xdoc/stylesheets/maven-velocity.css
+++ b/src/site/resources/css/site.css
@@ -125,3 +125,9 @@
   color: #900;
   background-color: #eee;
 }
+
+dl {
+  padding: 4px 4px 4px 6px;
+  border: 1px solid #aaa;
+  background-color: white;
+}
diff --git a/src/site/resources/images/asf_logo_wide.gif b/src/site/resources/images/asf_logo_wide.gif
new file mode 100644
index 0000000..b240328
--- /dev/null
+++ b/src/site/resources/images/asf_logo_wide.gif
Binary files differ
diff --git a/src/site/xdoc/images/jakarta.png b/src/site/resources/images/jakarta.png
similarity index 100%
rename from src/site/xdoc/images/jakarta.png
rename to src/site/resources/images/jakarta.png
Binary files differ
diff --git a/src/site/resources/images/pbv90x30.png b/src/site/resources/images/pbv90x30.png
new file mode 100644
index 0000000..e1487da
--- /dev/null
+++ b/src/site/resources/images/pbv90x30.png
Binary files differ
diff --git a/src/site/xdoc/images/powered-by-logo.gif b/src/site/resources/images/powered-by-velocity.gif
similarity index 100%
rename from src/site/xdoc/images/powered-by-logo.gif
rename to src/site/resources/images/powered-by-velocity.gif
Binary files differ
diff --git a/src/site/xdoc/images/newlogo.png b/src/site/resources/images/velocity.png
similarity index 100%
rename from src/site/xdoc/images/newlogo.png
rename to src/site/resources/images/velocity.png
Binary files differ
diff --git a/src/site/resources/images/velocity_project_wide.png b/src/site/resources/images/velocity_project_wide.png
new file mode 100644
index 0000000..c927578
--- /dev/null
+++ b/src/site/resources/images/velocity_project_wide.png
Binary files differ
diff --git a/src/site/resources/images/velocity_project_wide.xcf b/src/site/resources/images/velocity_project_wide.xcf
new file mode 100644
index 0000000..50dfea0
--- /dev/null
+++ b/src/site/resources/images/velocity_project_wide.xcf
Binary files differ
diff --git a/src/site/site.xml b/src/site/site.xml
new file mode 100644
index 0000000..f511b19
--- /dev/null
+++ b/src/site/site.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project name="Apache Velocity Site">
+  <publishDate position="bottom" format="yyyy-MM-dd HH:mm:ss"/>
+  <bannerLeft>
+    <name>Apache Velocity</name>
+    <src>/images/velocity_project_wide.png</src>
+    <href>http:/velocity.apache.org/</href>
+  </bannerLeft>
+
+  <poweredBy>
+    <logo name="Apache Velocity" 
+          href="http://velocity.apache.org/"
+          img="/images/pbv90x30.png" />
+  </poweredBy>
+
+  <body>
+    <breadcrumbs>
+      <item name="Apache" href="http://www.apache.org"/>
+      <item name="Velocity" href="http://velocity.apache.org/"/>
+    </breadcrumbs>
+
+    <links>
+      <item name="Engine" href="engine/devel/index.html"/>
+      <item name="Tools" href="tools/devel/index.html"/>
+      <item name="DVSL" href="dvsl/devel/index.html"/>
+    </links>
+
+    <menu name="General">
+      <item name="Welcome" href="index.html"/>
+      <item name="News" href="news.html"/>
+      <item name="Downloads" href="downloads.html"/>
+      <item name="Projects" href="projects.html"/>
+    </menu> 
+
+    <menu name="Community">
+      <item name="Wiki" href="http://wiki.apache.org/jakarta-velocity/FrontPage"/>
+      <item name="Who we are" href="who-we-are.html"/>
+      <item name="Contact us" href="contact.html"/>
+      <item name="Get involved" href="get-involved.html"/>
+      <item name="How it works" href="how-it-works.html"/>
+    </menu> 
+
+    <menu name="Projects">
+      <item name="Engine" href="engine/index.html"/>
+      <item name="Tools" href="tools/index.html"/>
+      <item name="DVSL" href="dvsl/index.html"/>
+    </menu>
+
+    <menu name="Releases">
+      <item name="Engine 1.4" href="engine/releases/1.4/index.html"/>
+      <item name="Tools 1.3" href="tools/releases/1.3/index.html"/>
+    </menu>
+
+    <menu name="Development">
+      <item name="Engine" href="engine/devel/index.html"/>
+      <item name="Tools" href="tools/devel/index.html"/>
+      <item name="DVSL" href="dvsl/devel/index.html"/>
+    </menu>
+
+    <menu name="Developer Resources">
+      <item name="Coding Standards" href="http://wiki.apache.org/jakarta-velocity/CodeStandards"/>
+      <item name="Project guidelines" href="guidelines.html"/>
+      <item name="Site building" href="http://wiki.apache.org/jakarta-velocity/VelocitySite"/>
+    </menu>
+
+    <menu name="Apache Reference">
+      <item name="Apache Website" href="http://www.apache.org/"/>
+      <item name="How the ASF works" href="http://www.apache.org/foundation/how-it-works.html"/>
+      <item name="ASF Developer Infos" href="http://www.apache.org/dev/"/>
+      <item name="Acknowledgements" href="http://www.apache.org/foundation/thanks.html"/>
+      <item name="Apache Source Code Repository"   href="http://www.apache.org/dev/version-control.html"/>
+    </menu>
+
+  </body>
+</project>
diff --git a/src/site/xdoc/contact.xml b/src/site/xdoc/contact.xml
new file mode 100644
index 0000000..bf97be6
--- /dev/null
+++ b/src/site/xdoc/contact.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document>
+  <properties>
+    <title>The Apache Velocity Project</title>
+    <author email="dev@velocity.apache.org">
+      Velocity Documentation Team
+    </author>
+  </properties>
+
+  <body>
+    <section name="Contact us">
+    </section>
+  </body>
+</document>
diff --git a/src/site/xdoc/downloads.xml b/src/site/xdoc/downloads.xml
new file mode 100644
index 0000000..2ecbff3
--- /dev/null
+++ b/src/site/xdoc/downloads.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document>
+  <properties>
+    <title>The Apache Velocity Project</title>
+    <author email="dev@velocity.apache.org">
+      Velocity Documentation Team
+    </author>
+  </properties>
+
+  <body>
+    <section name="Downloads"> 
+      <p>
+        You can download sources and binaries for all Velocity projects from here.
+      </p>
+    </section>
+
+    <section name="Production releases">
+      <p>
+        These releases are considered stable and suitable for production.
+      </p>
+      <table>
+        <tr>
+          <th>Project</th>
+          <th>Source distribution</th>
+          <th>Binary distribution</th>
+        </tr>
+      </table>
+    </section>
+
+    <section name="Alpha/Beta releases">
+      <p>
+        These releases are not yet production-ready but they might contain new features or bug fixes that are not yet in the 
+        production release.
+      </p>
+      <table>
+        <tr>
+          <th>Project</th>
+          <th>Source distribution</th>
+          <th>Binary distribution</th>
+        </tr>
+      </table>
+    </section>
+
+    <section name="Nightly builds">
+      <p>
+       The nightly builds are generated automatically and there is no guarantee that these archives even build or work. They
+       are intended if you want to keep up-to-date with the development of a project and can not for any reason download the
+       source code straight from the Subversion repository and build it yourself.
+      </p>
+    </section>
+   
+    <section name="Source code repository">
+      <p>
+       You can download the source code to each Apache Velocity project directly from our public subversion repository. Here
+       you get logs, change histories and all the information necessary to follow the development process. If you are interested
+       in the project development, please join the Apache Velocity development list.
+      </p>
+      <table>
+        <tr>
+          <th>Project</th>
+          <th>Repository URL</th>
+          <th>ViewVC Subversion browser</th>
+        </tr>
+      </table>
+    </section>
+  </body>
+</document>
diff --git a/src/site/xdoc/dvsl/index.xml b/src/site/xdoc/dvsl/index.xml
new file mode 100644
index 0000000..242409d
--- /dev/null
+++ b/src/site/xdoc/dvsl/index.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document>
+  <properties>
+    <title>The Apache Velocity Project</title>
+    <author email="dev@velocity.apache.org">
+      Velocity Documentation Team
+    </author>
+  </properties>
+
+  <body>
+    <section name="The Apache Velocity DVSL subproject">
+    </section>
+  </body>
+</document>
diff --git a/src/site/xdoc/dvsl/index.xml~ b/src/site/xdoc/dvsl/index.xml~
new file mode 100644
index 0000000..66cd993
--- /dev/null
+++ b/src/site/xdoc/dvsl/index.xml~
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document>
+  <properties>
+    <title>The Apache Velocity Project</title>
+    <author email="dev@velocity.apache.org">
+      Velocity Documentation Team
+    </author>
+  </properties>
+
+  <body>
+    <section name="The Apache Velocity Tools subproject">
+    </section>
+  </body>
+</document>
diff --git a/src/site/xdoc/dvsl/releases/index.xml b/src/site/xdoc/dvsl/releases/index.xml
new file mode 100644
index 0000000..bb852da
--- /dev/null
+++ b/src/site/xdoc/dvsl/releases/index.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document>
+  <properties>
+    <title>The Apache Velocity Project</title>
+    <author email="dev@velocity.apache.org">
+      Velocity Documentation Team
+    </author>
+  </properties>
+
+  <body>
+    <section name="Apache Velocity Tools releases">
+    </section>
+  </body>
+</document>
diff --git a/src/site/xdoc/engine/index.xml b/src/site/xdoc/engine/index.xml
new file mode 100644
index 0000000..7142cb4
--- /dev/null
+++ b/src/site/xdoc/engine/index.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document>
+  <properties>
+    <title>Velocity Engine</title>
+    <author email="dev@velocity.apache.org">
+      Velocity Documentation Team
+    </author>
+  </properties>
+
+  <body>
+    <section name="Apache Velocity Engine">
+      <p>
+        The Apache Velocity Engine is a free open-source templating
+        engine.
+      </p>
+
+      <p>
+        Velocity permits you to use a simple yet powerful template
+        language to reference objects defined in Java code.
+
+        It is written in 100% pure Java and can be easily embedded into
+        your own applications.
+
+        The engine is the core of the
+        <a href="http://velocity.apache.org/">
+          Apache Velocity Project
+        </a>.
+      </p>
+    </section>
+
+    <section name="Velocity Integration">
+      <p>
+        The Velocity engine includes a number of predefined tasks for
+        easy integration into
+        <a href="http://ant.apache.org/">Apache Ant</a>.
+      </p>
+
+      <p>
+        Integration into web applications and frameworks is available
+        through the
+        <a href="/tools/index.html">Apache Velocity Tools Project</a>.
+      </p>
+    </section>
+
+    <section name="Getting started">
+      <p>
+        The Velocity engine subproject contains the documentation to get
+        started using the Velocity templating language and embedding
+        Velocity into your own applications. Please select a
+        <a href="releases/index.html">released version</a>
+        to get started. Once you are more familiar with Velocity or if
+        you need a feature not yet released, you can check out the
+        <a href="devel/index.html">Development Site</a>.
+      </p>
+    </section>
+  </body>
+</document>
diff --git a/src/site/xdoc/engine/releases/index.xml b/src/site/xdoc/engine/releases/index.xml
new file mode 100644
index 0000000..c5d8bdd
--- /dev/null
+++ b/src/site/xdoc/engine/releases/index.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document>
+  <properties>
+    <title>The Apache Velocity Project</title>
+    <author email="dev@velocity.apache.org">
+      Velocity Documentation Team
+    </author>
+  </properties>
+
+  <body>
+    <section name="Apache Velocity Engine releases">
+    </section>
+  </body>
+</document>
diff --git a/src/site/xdoc/get-involved.xml b/src/site/xdoc/get-involved.xml
new file mode 100644
index 0000000..c40ff33
--- /dev/null
+++ b/src/site/xdoc/get-involved.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document>
+  <properties>
+    <title>The Apache Velocity Project</title>
+    <author email="dev@velocity.apache.org">
+      Velocity Documentation Team
+    </author>
+  </properties>
+
+  <body>
+    <section name="Get involved with the Apache Velocity project">
+    </section>
+  </body>
+</document>
diff --git a/src/site/xdoc/guidelines.xml b/src/site/xdoc/guidelines.xml
new file mode 100644
index 0000000..1ec5a99
--- /dev/null
+++ b/src/site/xdoc/guidelines.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document>
+  <properties>
+    <title>The Apache Velocity Project</title>
+    <author email="dev@velocity.apache.org">
+      Velocity Documentation Team
+    </author>
+  </properties>
+
+  <body>
+    <section name="Apache Velocity project guidelines">
+    </section>
+  </body>
+</document>
diff --git a/src/site/xdoc/how-it-works.xml b/src/site/xdoc/how-it-works.xml
new file mode 100644
index 0000000..0f90289
--- /dev/null
+++ b/src/site/xdoc/how-it-works.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document>
+  <properties>
+    <title>The Apache Velocity Project</title>
+    <author email="dev@velocity.apache.org">
+      Velocity Documentation Team
+    </author>
+  </properties>
+
+  <body>
+    <section name="How the Apache Velocity project works">
+    </section>
+  </body>
+</document>
diff --git a/src/site/xdoc/index.xml b/src/site/xdoc/index.xml
index 24ffba9..1a00dad 100644
--- a/src/site/xdoc/index.xml
+++ b/src/site/xdoc/index.xml
@@ -1,158 +1,148 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE document PUBLIC "-//Apache Software Foundation//DTD XDOC 1.0//EN" "http://extra.intermeta.de/dtds-foo/xdoc_1_0.dtd">
 <document>
   <properties>
-    <title>Velocity</title>
-
-    <author email="velocity-dev@jakarta.apache.org">Velocity Documentation
-    Team</author>
+    <title>The Apache Velocity Project</title>
+    <author email="dev@velocity.apache.org">
+      Velocity Documentation Team
+    </author>
   </properties>
 
   <body>
-    <section name="What is Velocity?"><p>Velocity is a Java-based template
-    engine. It permits anyone to use a simple yet powerful template language
-    to reference objects defined in Java code.</p><p>Velocity is written in
-    100% pure Java and can be easily embedded into your own applications. It
-    also provides easy integration into web applications through a servlet and
-    tasks for using Velocity from <a href="http://ant.apache.org/">Apache
-    Ant</a>.</p></section>
+    <section name="The Apache Velocity Project">
+      <p>
+        Velocity is a project of the
+        <a href="http://www.apache.org/">Apache Software Foundation</a>,
+        charged with the creation and maintenance of open-source
+        software related to the
+        <a href="engine/index.html">Apache Velocity Engine</a>
+        . All software created at the Velocity project is available
+        under the
+        <a href="http://www.apache.org/licenses/LICENSE-2.0.txt">Apache Software License</a>
+        and free of charge for the public.
+      </p>
+    </section>
 
-    <section name="Where can Velocity be used?"><subsection
-    name="Web based applications"><p> When Velocity is used for web
-    development, Web designers can work in parallel with Java programmers to
-    develop web sites according to the Model-View-Controller (MVC) model,
-    meaning that web page designers can focus solely on creating a site that
-    looks good, and programmers can focus solely on writing top-notch code.
-    Velocity separates Java code from the web pages, making the web site more
-    maintainable over its lifespan and providing a viable alternative to <a
-    href="http://java.sun.com/products/jsp/">Java Server Pages</a> (JSPs) or
-    <a href="http://www.php.net/">PHP</a>.</p></subsection><subsection
-    name="Template based code and report generation"><p>Velocity's
-    capabilities reach well beyond the realm of the web; for example, it can
-    be used to generate SQL, PostScript and XML (see <a
-    href="engine/anakia/">Anakia</a> for more information on XML
-    transformations) from templates. It can be used either as a standalone
-    utility for generating source code and reports, or as an integrated
-    component of other systems.</p></subsection><subsection
-    name="Framework Integration"><p>A huge number of other projects have
-    Velocity integration either natively or through 3rd party add-ons. Some
-    examples are:</p><ul>
-        <li><a href="http://jakarta.apache.org/turbine/">Turbine</a> uses
-        Velocity as its main view layer.</li>
+    <section name="Apache Software Foundation">
+      <p>
+        The Apache Software Foundation provides support for the Apache
+        community of open-source software projects. The
+        <a href="http://projects.apache.org/">Apache projects</a>
+        are characterized by a collaborative, consensus based
+        development process, an open and pragmatic
+        <a href="http://www.apache.org/foundation/licence-FAQ.html">software license</a>,
+        and a desire to create high quality software that leads the
+        way in its field.
+      </p>
+    </section>
 
-        <li><a href="http://struts.apache.org/">Struts</a> offers Velocity
-        integration through a Velocity subproject called <a
-        href="tools/">Velocity Tools</a> .</li>
+    <section name="Apache Velocity projects">
+      <p>Apache Velocity offers the following projects:</p>
+      <dl>
+        <dt><a href="engine/index.html">Velocity Engine</a></dt>
+        <dd>
+          This is the actual templating engine which does all the work.
+          If you came here because you heard about Velocity somewhere on
+          the web, this is probably the right place to start.
+        </dd>
 
-        <li><a href="http://www.springframework.org">Spring Framework</a>
-        supports Velocity through its <code>VelocityConfigurer</code> and
-        <code>VelocityViewResolver</code>.</li>
-      </ul></subsection></section>
+        <dt><a href="tools/index.html">Velocity Tools</a></dt>
+        <dd>
+          This project contains tools and other useful infrastructure
+          to build web- and non-web application using the Velocity
+          engine. You will find e.g. code for
+          <a href="http://struts.apache.org/">Struts</a>
+          integration or the standalone Velocity View Servlet here.
+        </dd>
 
-    <section name="How do I get started"><p>The Velocity engine subproject
-    contains the documentation to get started using Velocity and embedding
-    Velocity into your own applications. Please select either a <a
-    href="releases/engine/">released version</a> to get started.
-    </p></section>
+        <dt><a href="dvsl/">Velocity DVSL</a></dt>
+        <dd>
+          DVSL (Declarative Velocity Style Language) is a tool modeled
+          after XSLT and is intended for general XML transformations
+          using the Velocity Template Language as the transformation
+          language.
+        </dd>
+      </dl>
+    </section>
 
-    <section name="Velocity subprojects"><p>Velocity currently consists of
-    three subprojects:</p><ul>
-        <li><a href="engine/">Velocity Engine</a>. This is the actual
-        templating engine which does all the work. This subproject contains
-        also the task definitions for using Velocity from <a
-        href="http://ant.apache.org/">Apache Ant</a>.</li>
 
-        <li><a href="tools/">Velocity Tools</a>. This subproject contains
-        tools and other useful infrastructure to build web- and non-web
-        application using Velocity. You will find e.g. code for <a
-        href="http://struts.apache.org/">Struts</a> integration or the
-        standalone Velocity View Servlet here.</li>
+    <section name="Release status">
 
-        <li><a href="dvsl/">Velocity DVSL</a>. DVSL (Declarative Velocity
-        Style Language) is a tool modeled after XSLT and is intended for
-        general XML transformations using the Velocity Template Language as
-        the transformation language.</li>
-      </ul></section>
-
-    <section
-    name="What are the current releases and where do I get them?"><p>These are
-    the current releases of all subprojects: </p><table>
+      <p>These are the current releases of all Apache Velocity projects:</p>
+      <table>
         <tr>
           <th>Project</th>
-
           <th>Release Version</th>
-
-          <th>Development Version</th>
+          <th>Alpha/Beta/RC Release version</th>
         </tr>
 
         <tr>
-          <td>Engine</td>
-
-          <td><a href="releases/engine/1.4/">1.4</a></td>
-
-          <td><a href="engine/">1.5</a></td>
+          <td>Velocity Engine</td>
+          <td>
+            <a href="engine/releases/1.4/index.html">1.4</a>
+          </td>
+          <td>
+            <a href="engine/releases/1.5-beta2/index.html">1.5-beta2</a>
+          </td>
         </tr>
 
         <tr>
-          <td>Tools</td>
-
-          <td><a href="releases/tools/1.2/">1.2</a></td>
-
-          <td><a href="tools/">1.3</a></td>
+          <td>Velocity Tools</td>
+          <td>
+            <a href="releases/tools/1.2/">1.2</a>
+          </td>
+          <td>(currently none available)</td>
         </tr>
 
         <tr>
           <td>DVSL</td>
-
-          <td>-</td>
-
-          <td><a href="dvsl/">1.0</a></td>
+          <td>(currently none available)</td>
+          <td>(currently none available)</td>
         </tr>
-      </table><p>The release distribution is available as a combined
-    source/binary distribution in <code>tar.gz</code> and <code>zip</code>
-    formats, and can be downloaded through the <a
-    href="http://jakarta.apache.org/site/downloads/downloads_velocity.cgi">
-    Apache Mirror system</a>.</p><p>The Velocity jars are also available
-    through the <a href="http://www.ibiblio.org/maven/velocity/">central Maven
-    repository</a>.</p><p>Older releases are archived at the <a
-    href="http://archive.apache.org/dist/jakarta/velocity/">Jakarta Velocity
-    archives</a>.</p></section>
+      </table>
+      <p>
+        The release distribution is available as a combined
+        source/binary distribution in tar.gz and zip formats, and can be
+        downloaded from
+        <a href="download.html">our download page</a>.
+      </p>
+    </section>
 
-    <section name="Where do I get nightly snapshots?"><p>Nightly snapshots of
-    the source code for all subprojects can be found <a
-    href="http://svn.apache.org/dist/jakarta/velocity/nightly/">
-    here</a>.<br/>They are meant to provide easy access to the project source
-    code if you are located behind a firewall or don't want to deal with a
-    subversion client and are created automatically from the Subversion
-    repository.<br/>As this is our live development workspace, there are no
-    guarantees as to what you will find there, although we do our best to
-    maintain a buildable source tree. If you are looking for the stable
-    supported release, please use <a href="releases/">a released
-    version</a>.</p><p>If you are willing to risk getting dirty, we invite you
-    to try the nightly snapshot to see the current state of affairs. (and help
-    out!) <a href="http://www.apache.org/dev/version-control.html">Public
-    Subversion access</a> is also available.</p></section>
+    <section name="More information">
+      <p>
+        For more information about the Apache Velocity Project, see
 
-    <section
-    name="How do I contribute, give feedback, fix bugs and so on?"><p>The
-    Velocity project appreciates any contributions, including documentation
-    help, source code and feedback. Suggested changes should come in the form
-    of source code and/or feedback.</p><ul>
-        <li>Report bugs, ask questions, and help new users on the <a
-        href="mail-lists.html"> Velocity mailing lists</a>.</li>
+        <ul>
+          <li>
+            <a href="how-it-works.html">How the Apache Velocity project works</a>
+          </li>
+          <li>
+            <a href="guidelines.html">General guidelines and rules that we adhere to</a>
+          </li>
+          <li>
+            <a href="who-we-are.html">Who are the people behind the Apache Velocity project</a>
+          </li>
+          <li>
+            <a href="get-involved.html">Find out how to get involved with the Apache Velocity
+              project</a>
+          </li>
+          <li>
+            <a href="contact.html">Contact the Apache Velocity project</a>
+          </li>
+        </ul>
+      </p>
 
-        <li>There's a list of issues waiting to be addressed in <a
-        href="http://issues.apache.org/jira/browse/VELOCITY"> JIRA</a>.</li>
+      <p>
+        For more information about the Apache Software Foundation, see
 
-        <li><a href="http://wiki.apache.org/jakarta-velocity/FrontPage"> Our
-        Wiki</a> has a large collection of community written content. Add your
-        own article or contribute to the FAQ!</li>
-
-        <li>Read-only access to the Subversion
-        <strong>jakarta-velocity</strong> repository is available both <a
-        href="http://svn.apache.org/repos/asf/jakarta/velocity/"> online</a>
-        and with a <a href="http://www.apache.org/dev/version-control.html">
-        Subversion client</a>.</li>
-      </ul></section>
+        <ul>
+          <li>
+            <a href="http://www.apache.org/">Foundation Home page</a>
+          </li>
+          <li>
+            <a href="http://www.apache.org/foundation/licence-FAQ.html">Apache License and Distribution FAQ</a>
+          </li>
+        </ul>
+      </p>
+    </section>
   </body>
 </document>
diff --git a/src/site/xdoc/navigation.xml b/src/site/xdoc/navigation.xml
deleted file mode 100644
index 4c6511b..0000000
--- a/src/site/xdoc/navigation.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<project name="Jakarta Velocity" href="http://jakarta.apache.org/velocity/">
-  <title>Jakarta Velocity</title>
-
-  <body>
-    <links>
-      <item name="Home"   href="/index.html"/>
-      <item name="Engine" href="/engine/"/>
-      <item name="Tools"  href="/tools/"/>
-      <item name="DVSL"   href="/dvsl/"/>
-    </links>
-
-    <menu name="General">
-      <item name="Home"          href="/index.html"/>
-      <item name="Mailing Lists" href="/mail-lists.html"/>
-      <item name="Project team"  href="/team-list.html"/>
-    </menu>
-
-    <menu name="Subprojects">
-      <item name="Velocity Engine" href="/engine/"/>
-      <item name="Velocity Tools"  href="/tools/"/>
-      <item name="Velocity DVSL"   href="/dvsl/"/>
-    </menu>
-
-<!-- If you remove the index.html from the collapsed links, they no longer work! -->
-    <menu name="Releases">
-      <item name="Downloads"
-        href="http://jakarta.apache.org/site/downloads/downloads_velocity.cgi"/>
-      <item name="Velocity" href="/releases/engine/index.html" collapse="true">
-        <item name="Velocity 1.3.1" href="/releases/engine/1.3.1/" collapse="true"/>
-        <item name="Velocity 1.4"   href="/releases/engine/1.4/"   collapse="true"/>
-        <item name="Velocity 1.5"   href="/releases/engine/1.5/"   collapse="true"/>
-      </item>
-      <item name="Velocity Tools" href="/releases/tools/index.html" collapse="true">
-        <item name="Velocity Tools 1.1"
-          href="/releases/tools/1.1/" collapse="true"/>
-        <item name="Velocity Tools 1.2"
-          href="/releases/tools/1.2/" collapse="true"/>
-      </item>
-<!-- DVSL has no release yet 
-      <item name="Velocity DVSL" href="/releases/dvsl/" collapse="true">
-        <item name="Velocity DVSL 1.0"
-          href="/releases/dvsl/velocity-dvsl-1.0/" collapse="true"/>
-      </item>
--->
-    </menu>
-
-    <menu name="Community">
-        <item name="Wiki"                     href="http://wiki.apache.org/jakarta-velocity/FrontPage"/>
-        <item name="Recent News"              href="http://wiki.apache.org/jakarta-velocity/VelocityNews"/>
-        <item name="Powered By Velocity"      href="http://wiki.apache.org/jakarta-velocity/PoweredByVelocity"/>
-        <item name="IDE/Editor Plugins"       href="http://wiki.apache.org/jakarta-velocity/VelocityEditors"/>
-        <item name="Articles and Books"       href="http://wiki.apache.org/jakarta-velocity/PublishedArticlesAndBooks"/>
-        <item name="Get Involved"             href="http://wiki.apache.org/jakarta-velocity/GetInvolved"/>
-        <item name="Mailing Lists"            href="http://jakarta.apache.org/site/mail.html"/>
-    </menu>
-
-    <menu name="Developers">
-        <item name="Source Code Repository"   href="http://www.apache.org/dev/version-control.html"/>
-        <item name="Issues"                   href="http://issues.apache.org/jira/browse/VELOCITY"/>
-        <item name="Nightly Snapshots"        href="http://svn.apache.org/dist/jakarta/velocity/nightly/"/>
-        <item name="Road Map"                 href="http://wiki.apache.org/jakarta-velocity/RoadMap"/>
-        <item name="Coding Standards"         href="http://wiki.apache.org/jakarta-velocity/CodeStandards"/>
-        <item name="Documentation Guidelines" href="http://wiki.apache.org/jakarta-velocity/DocumentationGuidelines"/>
-        <item name="Site building"            href="http://wiki.apache.org/jakarta-velocity/VelocitySite"/>
-    </menu>
-
-    <powered-by>
-      <item name="Velocity" href="http://jakarta.apache.org/velocity/" img="/images/powered-by-logo.gif" />
-    </powered-by>
-  </body>
-</project>
-
diff --git a/src/site/xdoc/news.xml b/src/site/xdoc/news.xml
new file mode 100644
index 0000000..8c378ca
--- /dev/null
+++ b/src/site/xdoc/news.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document>
+  <properties>
+    <title>The Apache Velocity Project</title>
+    <author email="dev@velocity.apache.org">
+      Velocity Documentation Team
+    </author>
+  </properties>
+
+  <body>
+    <section name="News">
+    </section>
+  </body>
+</document>
diff --git a/src/site/xdoc/projects.xml b/src/site/xdoc/projects.xml
new file mode 100644
index 0000000..130de78
--- /dev/null
+++ b/src/site/xdoc/projects.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document>
+  <properties>
+    <title>The Apache Velocity Project</title>
+    <author email="dev@velocity.apache.org">
+      Velocity Documentation Team
+    </author>
+  </properties>
+
+  <body>
+    <section name="Apache Velocity projects">
+    </section>
+  </body>
+</document>
diff --git a/src/site/xdoc/tools/index.xml b/src/site/xdoc/tools/index.xml
new file mode 100644
index 0000000..66cd993
--- /dev/null
+++ b/src/site/xdoc/tools/index.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document>
+  <properties>
+    <title>The Apache Velocity Project</title>
+    <author email="dev@velocity.apache.org">
+      Velocity Documentation Team
+    </author>
+  </properties>
+
+  <body>
+    <section name="The Apache Velocity Tools subproject">
+    </section>
+  </body>
+</document>
diff --git a/src/site/xdoc/tools/releases/index.xml b/src/site/xdoc/tools/releases/index.xml
new file mode 100644
index 0000000..bb852da
--- /dev/null
+++ b/src/site/xdoc/tools/releases/index.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document>
+  <properties>
+    <title>The Apache Velocity Project</title>
+    <author email="dev@velocity.apache.org">
+      Velocity Documentation Team
+    </author>
+  </properties>
+
+  <body>
+    <section name="Apache Velocity Tools releases">
+    </section>
+  </body>
+</document>
diff --git a/src/site/xdoc/who-we-are.xml b/src/site/xdoc/who-we-are.xml
new file mode 100644
index 0000000..b82fbdc
--- /dev/null
+++ b/src/site/xdoc/who-we-are.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document>
+  <properties>
+    <title>The Apache Velocity Project</title>
+    <author email="dev@velocity.apache.org">
+      Velocity Documentation Team
+    </author>
+  </properties>
+
+  <body>
+    <section name="Who we are">
+    </section>
+  </body>
+</document>
