more adapted rendering for the download page
diff --git a/geronimo-microprofile-site/src/main/java/org/apache/geronimo/microprofile/site/Downloads.java b/geronimo-microprofile-site/src/main/java/org/apache/geronimo/microprofile/site/Downloads.java
index 589bf84..04c7e0e 100644
--- a/geronimo-microprofile-site/src/main/java/org/apache/geronimo/microprofile/site/Downloads.java
+++ b/geronimo-microprofile-site/src/main/java/org/apache/geronimo/microprofile/site/Downloads.java
@@ -19,6 +19,10 @@
 import static java.time.format.DateTimeFormatter.RFC_1123_DATE_TIME;
 import static java.util.Arrays.asList;
 import static java.util.Optional.ofNullable;
+import static java.util.function.Function.identity;
+import static java.util.stream.Collectors.groupingBy;
+import static java.util.stream.Collectors.toList;
+import static java.util.stream.Collectors.toMap;
 
 import java.io.IOException;
 import java.io.InputStream;
@@ -30,7 +34,9 @@
 import java.time.ZoneOffset;
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.List;
 import java.util.Locale;
+import java.util.Map;
 import java.util.Objects;
 import java.util.concurrent.TimeUnit;
 import java.util.stream.Stream;
@@ -70,38 +76,75 @@
 
         System.setProperty("java.util.concurrent.ForkJoinPool.common.parallelism", "512");
 
-        Stream.of("org/apache/geronimo/config/geronimo-config-impl", "org/apache/geronimo/safeguard/safeguard-impl",
+        final List<Download> downloads = Stream.of("org/apache/geronimo/config/geronimo-config-impl", "org/apache/geronimo/safeguard/safeguard-impl",
                 "org/apache/geronimo/geronimo-jwt-auth", "org/apache/geronimo/geronimo-opentracing",
                 "org/apache/geronimo/geronimo-health", "org/apache/geronimo/geronimo-metrics",
                 "org/apache/geronimo/geronimo-openapi-impl", "org/apache/geronimo/geronimo-microprofile-aggregator")
                 .flatMap(Downloads::toVersions)
                 .map(v -> v.base.endsWith("geronimo-microprofile-aggregator") ? v.extensions("pom") : v.extensions("jar"))
                 .flatMap(Downloads::toDownloadable).map(Downloads::fillDownloadable).filter(Objects::nonNull)
-                .sorted((o1, o2) -> {
-                    final int formatComp = o2.format.compareTo(o1.format); // pom before jar
-                    if (formatComp != 0) {
-                        return formatComp;
-                    }
+                .sorted(Downloads::versionComparator)
+                .map(Downloads::toCentral)
+                .collect(toList());
 
-                    final int nameComp = o1.name.compareTo(o2.name);
-                    if (nameComp != 0) {
-                        return nameComp;
-                    }
+        final Collection<Download> lastReleases = downloads.stream()
+                .collect(toMap(Download::getName, identity(), (a, b) -> a))
+                .values().stream()
+                .sorted(Downloads::versionComparator)
+                .collect(toList());
 
-                    final int versionComp = o2.version.compareTo(o1.version);
-                    if (versionComp != 0) {
-                        return versionComp;
-                    }
+        System.out.println("= Downloads\n:jbake-date: 2018-07-24\n:icons: font\n\n");
+        System.out.println("== Last releases\n\n");
+        System.out.println(tableHeader());
+        lastReleases.forEach(Downloads::printRow);
+        System.out.println(tableFooter());
+        System.out.println();
+        System.out.println("== Previous releases\n\n");
+        downloads.stream()
+                .filter(it -> !lastReleases.contains(it))
+                .collect(groupingBy(Download::getName))
+                .forEach((name, dls) -> {
+                    System.out.println("=== " + name + "\n\n");
+                    System.out.println(tableHeader());
+                    dls.forEach(Downloads::printRow);
+                    System.out.println(tableFooter());
+                    System.out.println();
+                });
+        System.out.println();
+    }
 
-                    final long dateComp = LocalDateTime.parse(o2.date, RFC_1123_DATE_TIME).toInstant(ZoneOffset.UTC)
-                            .toEpochMilli()
-                            - LocalDateTime.parse(o1.date, RFC_1123_DATE_TIME).toInstant(ZoneOffset.UTC).toEpochMilli();
-                    if (dateComp != 0) {
-                        return (int) dateComp;
-                    }
+    private static String tableFooter() {
+        return "|===";
+    }
 
-                    return o1.url.compareTo(o2.url);
-                }).map(Downloads::toCentral).forEach(Downloads::printRow);
+    private static String tableHeader() {
+        return "[.table.table-bordered,options=\"header\"]\n|===\n|Name|Version|Date|Size|Type|Links";
+    }
+
+    private static int versionComparator(final Download o1, final Download o2) {
+        final int formatComp = o2.format.compareTo(o1.format); // pom before jar
+        if (formatComp != 0) {
+            return formatComp;
+        }
+
+        final int nameComp = o1.name.compareTo(o2.name);
+        if (nameComp != 0) {
+            return nameComp;
+        }
+
+        final int versionComp = o2.version.compareTo(o1.version);
+        if (versionComp != 0) {
+            return versionComp;
+        }
+
+        final long dateComp = LocalDateTime.parse(o2.date, RFC_1123_DATE_TIME).toInstant(ZoneOffset.UTC)
+                .toEpochMilli()
+                - LocalDateTime.parse(o1.date, RFC_1123_DATE_TIME).toInstant(ZoneOffset.UTC).toEpochMilli();
+        if (dateComp != 0) {
+            return (int) dateComp;
+        }
+
+        return o1.url.compareTo(o2.url);
     }
 
     private static Download toCentral(final Download download) {
diff --git a/geronimo-microprofile-site/src/main/jbake/content/downloads.adoc b/geronimo-microprofile-site/src/main/jbake/content/downloads.adoc
index b7ae472..dcd781f 100644
--- a/geronimo-microprofile-site/src/main/jbake/content/downloads.adoc
+++ b/geronimo-microprofile-site/src/main/jbake/content/downloads.adoc
@@ -2,29 +2,90 @@
 :jbake-date: 2018-07-24
 :icons: font
 
+
+== Last releases
+
+
 [.table.table-bordered,options="header"]
 |===
-
 |Name|Version|Date|Size|Type|Links
-
+|Geronimo Microprofile Aggregator|1.0.0|18 Dec 2018|7 kB |POM| http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-microprofile-aggregator/1.0.0/geronimo-microprofile-aggregator-1.0.0.pom[icon:download[] POM] http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-microprofile-aggregator/1.0.0/geronimo-microprofile-aggregator-1.0.0.pom.sha1[icon:download[] SHA1]
 |Geronimo Config|1.2.1|17 Dec 2018|70 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/config/geronimo-config-impl/1.2.1/geronimo-config-impl-1.2.1.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/config/geronimo-config-impl/1.2.1/geronimo-config-impl-1.2.1.jar.sha1[icon:download[] SHA1]
-|Geronimo Config|1.2|10 Jun 2018|70 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/config/geronimo-config-impl/1.2/geronimo-config-impl-1.2.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/config/geronimo-config-impl/1.2/geronimo-config-impl-1.2.jar.sha1[icon:download[] SHA1]
-|Geronimo Config|1.1|2 Jan 2018|59 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/config/geronimo-config-impl/1.1/geronimo-config-impl-1.1.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/config/geronimo-config-impl/1.1/geronimo-config-impl-1.1.jar.sha1[icon:download[] SHA1]
-|Geronimo Config|1.0|10 Sep 2017|53 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/config/geronimo-config-impl/1.0/geronimo-config-impl-1.0.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/config/geronimo-config-impl/1.0/geronimo-config-impl-1.0.jar.sha1[icon:download[] SHA1]
 |Geronimo Health|1.0.1|17 Dec 2018|13 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-health/1.0.1/geronimo-health-1.0.1.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-health/1.0.1/geronimo-health-1.0.1.jar.sha1[icon:download[] SHA1]
-|Geronimo Health|1.0.0|16 Jul 2018|19 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-health/1.0.0/geronimo-health-1.0.0.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-health/1.0.0/geronimo-health-1.0.0.jar.sha1[icon:download[] SHA1]
 |Geronimo Jwt Auth|1.0.1|17 Dec 2018|67 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-jwt-auth/1.0.1/geronimo-jwt-auth-1.0.1.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-jwt-auth/1.0.1/geronimo-jwt-auth-1.0.1.jar.sha1[icon:download[] SHA1]
-|Geronimo Jwt Auth|1.0.0|13 Jun 2018|67 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-jwt-auth/1.0.0/geronimo-jwt-auth-1.0.0.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-jwt-auth/1.0.0/geronimo-jwt-auth-1.0.0.jar.sha1[icon:download[] SHA1]
 |Geronimo Metrics|1.0.2|2 Jan 2019|36 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-metrics/1.0.2/geronimo-metrics-1.0.2.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-metrics/1.0.2/geronimo-metrics-1.0.2.jar.sha1[icon:download[] SHA1]
-|Geronimo Metrics|1.0.1|17 Dec 2018|36 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-metrics/1.0.1/geronimo-metrics-1.0.1.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-metrics/1.0.1/geronimo-metrics-1.0.1.jar.sha1[icon:download[] SHA1]
-|Geronimo Metrics|1.0.0|15 Jun 2018|73 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-metrics/1.0.0/geronimo-metrics-1.0.0.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-metrics/1.0.0/geronimo-metrics-1.0.0.jar.sha1[icon:download[] SHA1]
 |Geronimo Openapi|1.0.3|2 Jan 2019|169 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-openapi-impl/1.0.3/geronimo-openapi-impl-1.0.3.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-openapi-impl/1.0.3/geronimo-openapi-impl-1.0.3.jar.sha1[icon:download[] SHA1]
+|Geronimo Opentracing|1.0.1|17 Dec 2018|30 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-opentracing/1.0.1/geronimo-opentracing-1.0.1.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-opentracing/1.0.1/geronimo-opentracing-1.0.1.jar.sha1[icon:download[] SHA1]
+|Geronimo Safeguard|1.2.0|17 Dec 2018|117 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/safeguard/safeguard-impl/1.2.0/safeguard-impl-1.2.0.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/safeguard/safeguard-impl/1.2.0/safeguard-impl-1.2.0.jar.sha1[icon:download[] SHA1]
+|===
+
+== Previous releases
+
+
+=== Geronimo Safeguard
+
+
+[.table.table-bordered,options="header"]
+|===
+|Name|Version|Date|Size|Type|Links
+|Geronimo Safeguard|1.0|6 Jan 2018|64 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/safeguard/safeguard-impl/1.0/safeguard-impl-1.0.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/safeguard/safeguard-impl/1.0/safeguard-impl-1.0.jar.sha1[icon:download[] SHA1]
+|===
+
+=== Geronimo Jwt Auth
+
+
+[.table.table-bordered,options="header"]
+|===
+|Name|Version|Date|Size|Type|Links
+|Geronimo Jwt Auth|1.0.0|13 Jun 2018|67 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-jwt-auth/1.0.0/geronimo-jwt-auth-1.0.0.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-jwt-auth/1.0.0/geronimo-jwt-auth-1.0.0.jar.sha1[icon:download[] SHA1]
+|===
+
+=== Geronimo Health
+
+
+[.table.table-bordered,options="header"]
+|===
+|Name|Version|Date|Size|Type|Links
+|Geronimo Health|1.0.0|16 Jul 2018|19 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-health/1.0.0/geronimo-health-1.0.0.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-health/1.0.0/geronimo-health-1.0.0.jar.sha1[icon:download[] SHA1]
+|===
+
+=== Geronimo Openapi
+
+
+[.table.table-bordered,options="header"]
+|===
+|Name|Version|Date|Size|Type|Links
 |Geronimo Openapi|1.0.2|18 Dec 2018|169 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-openapi-impl/1.0.2/geronimo-openapi-impl-1.0.2.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-openapi-impl/1.0.2/geronimo-openapi-impl-1.0.2.jar.sha1[icon:download[] SHA1]
 |Geronimo Openapi|1.0.1|1 Aug 2018|157 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-openapi-impl/1.0.1/geronimo-openapi-impl-1.0.1.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-openapi-impl/1.0.1/geronimo-openapi-impl-1.0.1.jar.sha1[icon:download[] SHA1]
 |Geronimo Openapi|1.0.0|16 Jul 2018|157 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-openapi-impl/1.0.0/geronimo-openapi-impl-1.0.0.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-openapi-impl/1.0.0/geronimo-openapi-impl-1.0.0.jar.sha1[icon:download[] SHA1]
-|Geronimo Opentracing|1.0.1|17 Dec 2018|30 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-opentracing/1.0.1/geronimo-opentracing-1.0.1.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-opentracing/1.0.1/geronimo-opentracing-1.0.1.jar.sha1[icon:download[] SHA1]
-|Geronimo Opentracing|1.0.0|24 Jul 2018|87 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-opentracing/1.0.0/geronimo-opentracing-1.0.0.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-opentracing/1.0.0/geronimo-opentracing-1.0.0.jar.sha1[icon:download[] SHA1]
-|Geronimo Safeguard|1.2.0|17 Dec 2018|117 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/safeguard/safeguard-impl/1.2.0/safeguard-impl-1.2.0.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/safeguard/safeguard-impl/1.2.0/safeguard-impl-1.2.0.jar.sha1[icon:download[] SHA1]
-|Geronimo Safeguard|1.0|6 Jan 2018|64 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/safeguard/safeguard-impl/1.0/safeguard-impl-1.0.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/safeguard/safeguard-impl/1.0/safeguard-impl-1.0.jar.sha1[icon:download[] SHA1]
-
 |===
+
+=== Geronimo Metrics
+
+
+[.table.table-bordered,options="header"]
+|===
+|Name|Version|Date|Size|Type|Links
+|Geronimo Metrics|1.0.1|17 Dec 2018|36 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-metrics/1.0.1/geronimo-metrics-1.0.1.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-metrics/1.0.1/geronimo-metrics-1.0.1.jar.sha1[icon:download[] SHA1]
+|Geronimo Metrics|1.0.0|15 Jun 2018|73 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-metrics/1.0.0/geronimo-metrics-1.0.0.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-metrics/1.0.0/geronimo-metrics-1.0.0.jar.sha1[icon:download[] SHA1]
+|===
+
+=== Geronimo Config
+
+
+[.table.table-bordered,options="header"]
+|===
+|Name|Version|Date|Size|Type|Links
+|Geronimo Config|1.2|10 Jun 2018|70 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/config/geronimo-config-impl/1.2/geronimo-config-impl-1.2.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/config/geronimo-config-impl/1.2/geronimo-config-impl-1.2.jar.sha1[icon:download[] SHA1]
+|Geronimo Config|1.1|2 Jan 2018|59 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/config/geronimo-config-impl/1.1/geronimo-config-impl-1.1.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/config/geronimo-config-impl/1.1/geronimo-config-impl-1.1.jar.sha1[icon:download[] SHA1]
+|Geronimo Config|1.0|10 Sep 2017|53 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/config/geronimo-config-impl/1.0/geronimo-config-impl-1.0.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/config/geronimo-config-impl/1.0/geronimo-config-impl-1.0.jar.sha1[icon:download[] SHA1]
+|===
+
+=== Geronimo Opentracing
+
+
+[.table.table-bordered,options="header"]
+|===
+|Name|Version|Date|Size|Type|Links
+|Geronimo Opentracing|1.0.0|24 Jul 2018|87 kB |JAR| http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-opentracing/1.0.0/geronimo-opentracing-1.0.0.jar[icon:download[] JAR] http://repo.maven.apache.org/maven2/org/apache/geronimo/geronimo-opentracing/1.0.0/geronimo-opentracing-1.0.0.jar.sha1[icon:download[] SHA1]
+|===
\ No newline at end of file