diff --git a/maven-archetype-archetype/src/site/apt/index.apt.vm b/maven-archetype-archetype/src/site/apt/index.apt.vm
new file mode 100644
index 0000000..e91d3c1
--- /dev/null
+++ b/maven-archetype-archetype/src/site/apt/index.apt.vm
@@ -0,0 +1,69 @@
+ ------
+ ${project.name}
+ ------
+ Hervé Boutemy
+ ------
+ 2010-04-25
+ ------
+
+~~ Licensed to the Apache Software Foundation (ASF) under one
+~~ or more contributor license agreements.  See the NOTICE file
+~~ distributed with this work for additional information
+~~ regarding copyright ownership.  The ASF licenses this file
+~~ to you under the Apache License, Version 2.0 (the
+~~ "License"); you may not use this file except in compliance
+~~ with the License.  You may obtain a copy of the License at
+~~
+~~   http://www.apache.org/licenses/LICENSE-2.0
+~~
+~~ Unless required by applicable law or agreed to in writing,
+~~ software distributed under the License is distributed on an
+~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+~~ KIND, either express or implied.  See the License for the
+~~ specific language governing permissions and limitations
+~~ under the License.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/guides/mini/guide-apt-format.html
+
+${project.name}
+
+ <<<${project.artifactId}>>> is an archetype which generates a sample archetype:
+
++----+
+
+project
+|-- pom.xml
+`-- src
+    |-- main
+    |   `-- resources
+    |       |-- archetype-resources
+    |       |   |-- pom.xml
+    |       |   `-- src
+    |       |       |-- main
+    |       |       |   `-- java
+    |       |       |       `-- App.java
+    |       |       `-- test
+    |       |           `-- java
+    |       |               `-- AppTest.java
+    |       `-- META-INF
+    |           `-- maven
+    |               `-- archetype-metadata.xml
+    `-- test
+        `-- resources
+            `-- projects
+                `-- it-basic
+                    |-- archetype.properties
+                    `-- goal.txt
+
++----+
+
+* Usage
+
+ To generate a new project from this archetype, type:
+
++----+
+
+mvn archetype:generate -DarchetypeGroupId=${project.groupId} -DarchetypeArtifactId=${project.artifactId} -DarchetypeVersion=${project.version}
+
++----+
diff --git a/maven-archetype-j2ee-simple/src/site/apt/index.apt.vm b/maven-archetype-j2ee-simple/src/site/apt/index.apt.vm
new file mode 100644
index 0000000..a89c97a
--- /dev/null
+++ b/maven-archetype-j2ee-simple/src/site/apt/index.apt.vm
@@ -0,0 +1,94 @@
+ ------
+ ${project.name}
+ ------
+ Hervé Boutemy
+ ------
+ 2010-04-25
+ ------
+
+~~ Licensed to the Apache Software Foundation (ASF) under one
+~~ or more contributor license agreements.  See the NOTICE file
+~~ distributed with this work for additional information
+~~ regarding copyright ownership.  The ASF licenses this file
+~~ to you under the Apache License, Version 2.0 (the
+~~ "License"); you may not use this file except in compliance
+~~ with the License.  You may obtain a copy of the License at
+~~
+~~   http://www.apache.org/licenses/LICENSE-2.0
+~~
+~~ Unless required by applicable law or agreed to in writing,
+~~ software distributed under the License is distributed on an
+~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+~~ KIND, either express or implied.  See the License for the
+~~ specific language governing permissions and limitations
+~~ under the License.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/guides/mini/guide-apt-format.html
+
+${project.name}
+
+ <<<${project.artifactId}>>> is an archetype which generates a simplified sample J2EE application:
+
++----+
+
+project
+|-- pom.xml
+|-- ear
+|   |-- pom.xml
+|   `-- src
+|       |-- main
+|       |   `-- java
+|       `-- test
+|           `-- java
+|-- ejbs
+|   |-- pom.xml
+|   `-- src
+|       |-- main
+|       |   |-- java
+|       |   `-- resources
+|       |       `-- META-INF
+|       |           `-- ejb-jar.xml
+|       `-- test
+|           `-- java
+|-- primary-source
+|   |-- pom.xml
+|   `-- src
+|       |-- main
+|       |   `-- java
+|       `-- test
+|           `-- java
+|-- projects
+|   |-- pom.xml
+|   `-- logging
+|   |   |-- pom.xml
+|   |   `-- src
+|   |       |-- main
+|   |       |   `-- java
+|   |       `-- test
+|   |           `-- java
+|-- servlets
+|   |-- pom.xml
+|   `-- servlet
+|   |   |-- pom.xml
+|   |   `-- src
+|   |       |-- main
+|   |       |   `-- java
+|   |       |-- webapp
+|   |       |   |-- WEB-INF
+|   |       |   |   `-- web.xml
+|   |       |   `-- index.jsp
+|   |       `-- test
+|   |           `-- java
+
++----+
+
+* Usage
+
+ To generate a new project from this archetype, type:
+
++----+
+
+mvn archetype:generate -DarchetypeGroupId=${project.groupId} -DarchetypeArtifactId=${project.artifactId} -DarchetypeVersion=${project.version}
+
++----+
diff --git a/maven-archetype-plugin-site/src/site/apt/index.apt.vm b/maven-archetype-plugin-site/src/site/apt/index.apt.vm
index 3a5203f..292bbe8 100644
--- a/maven-archetype-plugin-site/src/site/apt/index.apt.vm
+++ b/maven-archetype-plugin-site/src/site/apt/index.apt.vm
@@ -41,6 +41,9 @@
         |   |   `-- example.apt
         |   |-- index.apt
         |   `-- usage.apt
+        |-- markdown
+        |   |-- markdown.md
+        |   `-- markdown-velocity.md.vm
         `-- site.xml
 
 +----+
diff --git a/maven-archetype-portlet/src/site/apt/index.apt.vm b/maven-archetype-portlet/src/site/apt/index.apt.vm
new file mode 100644
index 0000000..3580f38
--- /dev/null
+++ b/maven-archetype-portlet/src/site/apt/index.apt.vm
@@ -0,0 +1,64 @@
+ ------
+ ${project.name}
+ ------
+ Hervé Boutemy
+ ------
+ 2010-04-25
+ ------
+
+~~ Licensed to the Apache Software Foundation (ASF) under one
+~~ or more contributor license agreements.  See the NOTICE file
+~~ distributed with this work for additional information
+~~ regarding copyright ownership.  The ASF licenses this file
+~~ to you under the Apache License, Version 2.0 (the
+~~ "License"); you may not use this file except in compliance
+~~ with the License.  You may obtain a copy of the License at
+~~
+~~   http://www.apache.org/licenses/LICENSE-2.0
+~~
+~~ Unless required by applicable law or agreed to in writing,
+~~ software distributed under the License is distributed on an
+~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+~~ KIND, either express or implied.  See the License for the
+~~ specific language governing permissions and limitations
+~~ under the License.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/guides/mini/guide-apt-format.html
+
+${project.name}
+
+ <<<${project.artifactId}>>> is an archetype which generates a sample JSR-268 Portlet:
+
++----+
+
+project
+|-- pom.xml
+`-- src
+    `-- main
+        |-- java
+        |   `-- $package
+        |       `-- MyPortlet.java
+        |-- jetspeed
+        |   `-- web.xml
+        `-- webapp
+            |-- WEB-INF
+            |   |-- tld
+            |   |   `-- portlet.tld
+            |   |-- portlet.xml
+            |   `-- web.xml
+            |-- help.jsp
+            |-- maximized.jsp
+            `-- normal.jsp
+
++----+
+
+* Usage
+
+ To generate a new project from this archetype, type:
+
++----+
+
+mvn archetype:generate -DarchetypeGroupId=${project.groupId} -DarchetypeArtifactId=${project.artifactId} -DarchetypeVersion=${project.version}
+
++----+
diff --git a/maven-archetype-profiles/src/site/apt/index.apt.vm b/maven-archetype-profiles/src/site/apt/index.apt.vm
new file mode 100644
index 0000000..7081c2c
--- /dev/null
+++ b/maven-archetype-profiles/src/site/apt/index.apt.vm
@@ -0,0 +1,61 @@
+ ------
+ ${project.name}
+ ------
+ Hervé Boutemy
+ ------
+ 2010-04-25
+ ------
+
+~~ Licensed to the Apache Software Foundation (ASF) under one
+~~ or more contributor license agreements.  See the NOTICE file
+~~ distributed with this work for additional information
+~~ regarding copyright ownership.  The ASF licenses this file
+~~ to you under the Apache License, Version 2.0 (the
+~~ "License"); you may not use this file except in compliance
+~~ with the License.  You may obtain a copy of the License at
+~~
+~~   http://www.apache.org/licenses/LICENSE-2.0
+~~
+~~ Unless required by applicable law or agreed to in writing,
+~~ software distributed under the License is distributed on an
+~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+~~ KIND, either express or implied.  See the License for the
+~~ specific language governing permissions and limitations
+~~ under the License.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/guides/mini/guide-apt-format.html
+
+${project.name}
+
+ <<<${project.artifactId}>>> is an archetype which generates a sample Maven project which demonstrates the use of profiles:
+
++----+
+
+project
+|-- pom.xml
+`-- src
+    |-- main
+    |   |-- filters
+    |   |   |-- development.properties
+    |   |   |-- production.properties
+    |   |   `-- qa.properties
+    |   `-- java
+    |       `-- $package
+    |           `-- App.java
+    `-- test
+        `-- java
+            `-- $package
+                `-- AppTest.java
+
++----+
+
+* Usage
+
+ To generate a new project from this archetype, type:
+
++----+
+
+mvn archetype:generate -DarchetypeGroupId=${project.groupId} -DarchetypeArtifactId=${project.artifactId} -DarchetypeVersion=${project.version}
+
++----+
diff --git a/maven-archetype-simple/src/site/apt/index.apt.vm b/maven-archetype-simple/src/site/apt/index.apt.vm
new file mode 100644
index 0000000..6252746
--- /dev/null
+++ b/maven-archetype-simple/src/site/apt/index.apt.vm
@@ -0,0 +1,59 @@
+ ------
+ ${project.name}
+ ------
+ Hervé Boutemy
+ ------
+ 2010-04-25
+ ------
+
+~~ Licensed to the Apache Software Foundation (ASF) under one
+~~ or more contributor license agreements.  See the NOTICE file
+~~ distributed with this work for additional information
+~~ regarding copyright ownership.  The ASF licenses this file
+~~ to you under the Apache License, Version 2.0 (the
+~~ "License"); you may not use this file except in compliance
+~~ with the License.  You may obtain a copy of the License at
+~~
+~~   http://www.apache.org/licenses/LICENSE-2.0
+~~
+~~ Unless required by applicable law or agreed to in writing,
+~~ software distributed under the License is distributed on an
+~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+~~ KIND, either express or implied.  See the License for the
+~~ specific language governing permissions and limitations
+~~ under the License.
+
+~~ NOTE: For help with the syntax of this file, see:
+~~ http://maven.apache.org/guides/mini/guide-apt-format.html
+
+${project.name}
+
+ <<<${project.artifactId}>>> is an archetype which generates a simple Maven project:
+
++----+
+
+project
+|-- pom.xml
+`-- src
+    |-- main
+    |   `-- java
+    |       `-- $package
+    |           `-- App.java
+    |-- site
+    |   `-- site.xml
+    `-- test
+        `-- java
+            `-- $package
+                `-- AppTest.java
+
++----+
+
+* Usage
+
+ To generate a new project from this archetype, type:
+
++----+
+
+mvn archetype:generate -DarchetypeGroupId=${project.groupId} -DarchetypeArtifactId=${project.artifactId} -DarchetypeVersion=${project.version}
+
++----+
diff --git a/maven-archetype-site-simple/src/site/apt/index.apt.vm b/maven-archetype-site-simple/src/site/apt/index.apt.vm
index 07a56dc..bd21691 100644
--- a/maven-archetype-site-simple/src/site/apt/index.apt.vm
+++ b/maven-archetype-site-simple/src/site/apt/index.apt.vm
@@ -38,6 +38,9 @@
     `-- site
         |-- apt
         |   `-- index.apt
+        |-- markdown
+        |   |-- markdown-velocity.md.vm
+        |   `-- markdown.md
         `-- site.xml
 
 +----+
