You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by da...@apache.org on 2018/05/23 12:49:15 UTC

[5/7] wicket-site git commit: First draft for wicket 8 site

First draft for wicket 8 site


Project: http://git-wip-us.apache.org/repos/asf/wicket-site/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket-site/commit/8baec90c
Tree: http://git-wip-us.apache.org/repos/asf/wicket-site/tree/8baec90c
Diff: http://git-wip-us.apache.org/repos/asf/wicket-site/diff/8baec90c

Branch: refs/heads/asf-site
Commit: 8baec90c2d0b13f866ccc248313d8e562bb63f8e
Parents: ced81f3
Author: Martijn Dashorst <ma...@topicus.nl>
Authored: Tue May 22 23:13:43 2018 +0200
Committer: Martijn Dashorst <ma...@topicus.nl>
Committed: Wed May 23 14:24:24 2018 +0200

----------------------------------------------------------------------
 8/index.md                                   | 153 +++++++++++++++++
 _includes/jumbotron-wicket8.html             |  14 ++
 _layouts/title.html                          |   2 +-
 _sass/main.scss                              |   3 +-
 _sass/modules/_syntax.scss                   |   1 +
 _sass/modules/_wicket8.scss                  |  37 +++++
 _sass/taiga/_settings.scss                   |   1 +
 content/8/index.html                         | 193 ++++++++++++++++++++++
 content/atom.xml                             |   2 +-
 content/css/style.css                        |  26 +++
 content/img/background-3.jpg                 | Bin 0 -> 67062 bytes
 content/img/logo-apachewicket-tungsten-8.svg |  26 +++
 content/img/logo-apachewicket-white-8.svg    |  28 ++++
 content/index.html                           |  14 +-
 content/learn/examples/navomatic.html        |  20 +--
 img/background-3.jpg                         | Bin 0 -> 67062 bytes
 img/logo-apachewicket-tungsten-8.svg         |  26 +++
 img/logo-apachewicket-white-8.svg            |  28 ++++
 index.md                                     |   9 +-
 19 files changed, 560 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket-site/blob/8baec90c/8/index.md
----------------------------------------------------------------------
diff --git a/8/index.md b/8/index.md
new file mode 100644
index 0000000..46d600d
--- /dev/null
+++ b/8/index.md
@@ -0,0 +1,153 @@
+---
+layout: title
+title: Wicket 8 Released
+pageclasses: wicket8 index
+additionalContents:
+jumbotronLinks:
+  -
+    text: Download now &raquo;
+    url: /start/wicket-8.x.html
+---
+
+<div class="l-full l-first preamble">
+    <h1 id="introduction">Announcing Apache&nbsp;Wicket&nbsp;8: Write Less, Achieve More</h1>
+    <p>
+      The Apache Wicket project announces the 8th major release of the open source Java web framework servicing websites and applications across the globe for over a decade. With this release Wicket embraces Java 8 idioms fully, allowing the use of lambda expressions in all the right places. With Wicket 8 you can write fewer, faster and more maintainable code.
+    </p>
+</div>
+<div class="l-first">
+  <div class="l-full">
+    <h3>A Careful Application of Java 8</h3>
+
+    <p>
+      While previous versions of Wicket work well with Java 8 and beyond, the Wicket API was not optimized to make full use of Java 8 idioms. After careful consideration and trying many paths to adopt new ways of combining Java 8 and Wicket, we finally settled on the current API.
+    </p>
+    <p>
+      Java 8’s new idioms and types have been applied throughout Wicket’s API. Learn more about the details below.
+    </p>
+  </div>
+</div>
+
+<div class="l-first">
+  <div class="l-one-third">
+    <h3>Java 8+ Required</h3>
+    <p>
+      Starting with Wicket 8 the minimum required version of Java is Java 8. All Wicket supplied projects have been upgraded to Java 8 and Wicket 8, and shortly all active community projects, such as Wicket Stuff, will follow suit.
+    </p>
+    <p>
+      With the adoption of Java 8 we were able to provide support for Lambdas.
+    </p>
+  </div>
+  <div class="l-one-third">
+    <h3>Servlet 3.1 Required</h3>
+    <p>
+      As of Wicket 8 we only support the Java Servlet API 3.1 (or newer). This means that to run applications built using Wicket 8 you have to run your application in a modern server like Tomcat 8.x, Jetty 9.1+ or a Java EE 7 compatible server.
+    </p>
+  </div>
+  <div class="l-one-third">
+    <h3>Java Date/Time API</h3>
+    <p>
+      Wicket 8 provides out-of-the-box support for the new types for handling dates in Java 8. These can be converted, validated and bound to components.
+    </p>
+  </div>
+</div>
+<div class="l-first">
+  <div class="l-two-third">
+    <h3>Lambdas in All The Right Places</h3>
+    <p>
+      The major feature of Java 8 was the addition of lambda support in the language. With Wicket 8 we have looked at providing lambda support in the API and have weighed it against performance and memory usage considerations.
+    </p>
+    <p>
+      In this light we have opted to continue using subclassing as the primary extension mechanism for Wicket components.
+      Factories for lambdas have been provided for various forms of models (databinding) and behaviors (adapters for components).
+    </p>
+  </div>
+</div>
+<div class="l-first">
+  <div class="l-full">
+    <h3>Optional is Somtimes Required</h3>
+  </div>
+  <div class="l-one-third">
+    <p>
+      The new Optional type in Java 8 is intended for places in your API where things can be null. In Wicket’s case we have adopted Optional in just those places to clarify the API.
+    </p>
+    <p>
+      For example the AjaxFallbackLink, a link that works using both with and without AJAX, now uses Optional to signify whether the link was clicked utilizing AJAX or normal request processing: the AJAX request is wrapped in an Optional. Previous versions of Wicket would provide a null value for the AJAX request.
+    </p>
+    <p>
+      Because we have modified the API to utilize Optional, you will get compile errors when you start migrating to Wicket 8. This gives you the exact positions where these improvements have occurred and you can start working with the Optional API.
+    </p>
+  </div>
+  <div class="l-two-third">
+{% highlight java %}// WICKET 7:
+add(new AjaxFallbackLink<Void>("wicket7") {
+    @Override
+    public void onClick(AjaxRequestTarget target) {
+        if(target != null) {
+            // ...
+        }
+    }
+});
+// WICKET 8:
+add(new AjaxFallbackLink<Void>("wicket8") {
+    @Override
+    public void onClick(Optional<AjaxRequestTarget> target) {
+        if(target.isPresent()) {
+            // ...
+        }
+    }
+});
+{% endhighlight %}
+  </div>
+</div>
+
+<div class="l-first">
+  <div class="l-full">
+    <h3>Models as Functional Interface</h3>
+    <p>
+      Wicket uses models as the databinding method: each data-aware component can take a model implementation to retrieve and store data in. From Wicket 8 we have made the root interface IModel a functional interface. You can now use lambdas where you can use models.
+    </p>
+    <p>
+      The following example binds a Label component to the name of a person object in different ways using Wicket 8:
+    </p>
+{% highlight java %}
+add(new Label("name1", person::name));
+add(new Label("name2", () -> person.getName()));
+add(new Label("name3", LambdaModel.of(personModel, Person::getName)));
+add(new Label("name4",
+  LambdaModel.of(contractModel, Contract::getPerson)
+    .map(Person::getName)));
+{% endhighlight %}
+    <p>
+      The new <code>LambdaModel</code> type in Wicket enables type safe, refactor safe databinding for components. Previously one would bind data to components using PropertyModel, using a string expression to determine the exact property to show. The string expression is something like <code>"person.name"</code>. This is inherently difficult to refactor when you decide to change the name field into for example <code>"lastName"</code>. With <code>LambdaModel</code>, this refactoring is trivial for IDEs to perform: the Java methods can easily be renamed and the IDE will find all the references.
+    </p>
+
+    <p>
+      Microbenchmarks have shown that using lambda models provides much better performance than the string based PropertyModel at the cost of slightly larger memory footprint.
+    </p>
+  </div>
+</div>
+
+<div class="l-first">
+  <div class="l-one-third">
+    <h3>No Rewrite Necessary</h3>
+    <p>
+      The Wicket team has been very careful of adopting Java 8 technologies and as such you don’t have to rewrite your whole application, whilst still reaping all the benefits of Java 8.
+    </p>
+    <p>
+      As this is a new major version we have, in accordance with semantic versioning, cleaned up many APIs and you will get compile errors when you migrate from previous Wicket versions.
+    </p>
+  </div>
+  <div class="l-one-third">
+    <h3>Migrating to Wicket 8</h3>
+    <p>
+      When you migrate from a previous Wicket version to Wicket 8, a full list of changes and migrations is available at the following page:
+    </p>
+    <p>
+      <a href="https://s.apache.org/wicket8migrate">https://s.apache.org/wicket8migrate</a>
+    </p>
+    <p>
+      Please consult this migration guide when you are moving towards Wicket 8.
+    </p>
+  </div>
+</div>

http://git-wip-us.apache.org/repos/asf/wicket-site/blob/8baec90c/_includes/jumbotron-wicket8.html
----------------------------------------------------------------------
diff --git a/_includes/jumbotron-wicket8.html b/_includes/jumbotron-wicket8.html
new file mode 100644
index 0000000..fb16736
--- /dev/null
+++ b/_includes/jumbotron-wicket8.html
@@ -0,0 +1,14 @@
+<div class="header jumbotron">
+   	{% include mainmenu.html %}
+    <div class="jumbotron-logo">
+          <a href="{{site.baseurl}}/"><img src="{{ site.baseurl }}/img/logo-apachewicket-tungsten-8.svg" alt="Apache Wicket"></a>
+          <div class="jumbotron-poweredbyasf">powered by <b>The Apache Software Foundation</b></div>
+    </div>
+    <div class="jumbotron-mission">Write Less, Achieve More</div>
+    <div class="jumbotron-download">
+{% for p in page.jumbotronLinks %}
+          <a class="button" href="{{ site.baseurl }}{{ p.url }}" style="padding: 1em 3em; border-radius:5px">{{ p.text }}</a>
+{% endfor %}
+    </div>
+    <div class="l-first">&nbsp;</div>
+</div>

http://git-wip-us.apache.org/repos/asf/wicket-site/blob/8baec90c/_layouts/title.html
----------------------------------------------------------------------
diff --git a/_layouts/title.html b/_layouts/title.html
index 33c0a7f..889abb1 100644
--- a/_layouts/title.html
+++ b/_layouts/title.html
@@ -1,7 +1,7 @@
 ---
 layout: base
 ---
-{% include jumbotron.html %}
+{% include jumbotron-wicket8.html %}
 <div class="l-container">
     <section>
         {{ content }}

http://git-wip-us.apache.org/repos/asf/wicket-site/blob/8baec90c/_sass/main.scss
----------------------------------------------------------------------
diff --git a/_sass/main.scss b/_sass/main.scss
index 677bf24..69c602a 100755
--- a/_sass/main.scss
+++ b/_sass/main.scss
@@ -14,7 +14,7 @@
 @import "modules/toc";
 @import "modules/builtwithwicket";
 @import "modules/quickstart";
-
+@import "modules/wicket8";
 
 code, pre, code > span, pre > span { 
     font-family: 'Source Code Pro', 'courier new', monospace; 
@@ -224,3 +224,4 @@ th {
         }
     }
 }
+

http://git-wip-us.apache.org/repos/asf/wicket-site/blob/8baec90c/_sass/modules/_syntax.scss
----------------------------------------------------------------------
diff --git a/_sass/modules/_syntax.scss b/_sass/modules/_syntax.scss
index 2774b76..d73274e 100644
--- a/_sass/modules/_syntax.scss
+++ b/_sass/modules/_syntax.scss
@@ -1,3 +1,4 @@
+.lineno { text-align: right; margin-right: 0.5rem;}
 .highlight  { background: #ffffff; }
 .highlight .c { color: #999988; font-style: italic } /* Comment */
 .highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */

http://git-wip-us.apache.org/repos/asf/wicket-site/blob/8baec90c/_sass/modules/_wicket8.scss
----------------------------------------------------------------------
diff --git a/_sass/modules/_wicket8.scss b/_sass/modules/_wicket8.scss
new file mode 100644
index 0000000..4d35599
--- /dev/null
+++ b/_sass/modules/_wicket8.scss
@@ -0,0 +1,37 @@
+
+.wicket8 {
+    nav.mainmenu {
+        a, a:active, a:hover {
+            color:$almost-black;
+        }
+    }
+
+    .header {
+        color:$almost-black;
+    }
+    .jumbotron {
+        &.header{
+            background-color:#BF866F;
+            background-image: url('../img/background-3.jpg');
+            background-repeat: no-repeat;
+            background-position: center 25%;
+            background-size: cover;
+            box-shadow: none;
+        }
+        .jumbotron-version {
+            color:$almost-black;
+        }
+        .jumbotron-poweredbyasf {
+            margin: 0 auto;
+            text-align: center;
+            
+            b {
+                font-weight: bold;
+            }
+        }
+        .jumbotron-mission {
+            font-size: 2rem;
+            font-weight: bold;
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/wicket-site/blob/8baec90c/_sass/taiga/_settings.scss
----------------------------------------------------------------------
diff --git a/_sass/taiga/_settings.scss b/_sass/taiga/_settings.scss
index 64abb6b..2292d6b 100644
--- a/_sass/taiga/_settings.scss
+++ b/_sass/taiga/_settings.scss
@@ -77,4 +77,5 @@ $color-neutral-90: #232725;
 
 // Color basics
 $black: #000;
+$almost-black: #111111;
 $white: #fff;

http://git-wip-us.apache.org/repos/asf/wicket-site/blob/8baec90c/content/8/index.html
----------------------------------------------------------------------
diff --git a/content/8/index.html b/content/8/index.html
new file mode 100644
index 0000000..5eb759b
--- /dev/null
+++ b/content/8/index.html
@@ -0,0 +1,193 @@
+<!DOCTYPE html>
+<html>
+    <head>
+        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+        <meta charset="utf-8">
+        <title>Wicket 8 Released | Apache Wicket</title>
+        <meta name="viewport" content="width=device-width, initial-scale=1" />
+
+        <link rel="shortcut icon" href="/favicon.ico" type="image/vnd.microsoft.icon" />
+        <link rel="stylesheet" href="/css/style.css" type="text/css" media="screen" />
+        <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet" />
+
+		<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
+
+    </head>
+
+    <body class="wicket8 index">
+        <div class="header jumbotron">
+<nav class="mainmenu">
+    <ul>
+		<!-- /start/quickstart.html || /8/ -->
+    	<li class=""><a href="/start/quickstart.html">Quick Start</a></li>
+		<!-- /start/download.html || /8/ -->
+    	<li class=""><a href="/start/download.html">Download</a></li>
+		<!-- /learn || /8/ -->
+    	<li class=""><a href="/learn">Documentation</a></li>
+		<!-- /help || /8/ -->
+    	<li class=""><a href="/help">Support</a></li>
+		<!-- /contribute || /8/ -->
+    	<li class=""><a href="/contribute">Contribute</a></li>
+		<!-- /community || /8/ -->
+    	<li class=""><a href="/community">Community</a></li>
+		<!-- /apache || /8/ -->
+    	<li class=""><a href="/apache">Apache</a></li>
+    </ul>
+</nav>
+    <div class="jumbotron-logo">
+          <a href="/"><img src="/img/logo-apachewicket-tungsten-8.svg" alt="Apache Wicket"></a>
+          <div class="jumbotron-poweredbyasf">powered by <b>The Apache Software Foundation</b></div>
+    </div>
+    <div class="jumbotron-mission">Write Less, Achieve More</div>
+    <div class="jumbotron-download">
+          <a class="button" href="/start/wicket-8.x.html" style="padding: 1em 3em; border-radius:5px">Download now &raquo;</a>
+    </div>
+    <div class="l-first">&nbsp;</div>
+</div>
+<div class="l-container">
+    <section>
+        <div class="l-full l-first preamble">
+    <h1 id="introduction">Announcing Apache&nbsp;Wicket&nbsp;8: Write Less, Achieve More</h1>
+    <p>
+      The Apache Wicket project announces the 8th major release of the open source Java web framework servicing websites and applications across the globe for over a decade. With this release Wicket embraces Java 8 idioms fully, allowing the use of lambda expressions in all the right places. With Wicket 8 you can write fewer, faster and more maintainable code.
+    </p>
+</div>
+<div class="l-first">
+  <div class="l-full">
+    <h3>A Careful Application of Java 8</h3>
+    <p>
+      While previous versions of Wicket work well with Java 8 and beyond, the Wicket API was not optimized to make full use of Java 8 idioms. After careful consideration and trying many paths to adopt new ways of combining Java 8 and Wicket, we finally settled on the current API.
+    </p>
+    <p>
+      Java 8’s new idioms and types have been applied throughout Wicket’s API. Learn more about the details below.
+    </p>
+  </div>
+</div>
+<div class="l-first">
+  <div class="l-one-third">
+    <h3>Java 8+ Required</h3>
+    <p>
+      Starting with Wicket 8 the minimum required version of Java is Java 8. All Wicket supplied projects have been upgraded to Java 8 and Wicket 8, and shortly all active community projects, such as Wicket Stuff, will follow suit.
+    </p>
+    <p>
+      With the adoption of Java 8 we were able to provide support for Lambdas.
+    </p>
+  </div>
+  <div class="l-one-third">
+    <h3>Servlet 3.1 Required</h3>
+    <p>
+      As of Wicket 8 we only support the Java Servlet API 3.1 (or newer). This means that to run applications built using Wicket 8 you have to run your application in a modern server like Tomcat 8.x, Jetty 9.1+ or a Java EE 7 compatible server.
+    </p>
+  </div>
+  <div class="l-one-third">
+    <h3>Java Date/Time API</h3>
+    <p>
+      Wicket 8 provides out-of-the-box support for the new types for handling dates in Java 8. These can be converted, validated and bound to components.
+    </p>
+  </div>
+</div>
+<div class="l-first">
+  <div class="l-two-third">
+    <h3>Lambdas in All The Right Places</h3>
+    <p>
+      The major feature of Java 8 was the addition of lambda support in the language. With Wicket 8 we have looked at providing lambda support in the API and have weighed it against performance and memory usage considerations.
+    </p>
+    <p>
+      In this light we have opted to continue using subclassing as the primary extension mechanism for Wicket components.
+      Factories for lambdas have been provided for various forms of models (databinding) and behaviors (adapters for components).
+    </p>
+  </div>
+</div>
+<div class="l-first">
+  <div class="l-full">
+    <h3>Optional is Somtimes Required</h3>
+  </div>
+  <div class="l-one-third">
+    <p>
+      The new Optional type in Java 8 is intended for places in your API where things can be null. In Wicket’s case we have adopted Optional in just those places to clarify the API.
+    </p>
+    <p>
+      For example the AjaxFallbackLink, a link that works using both with and without AJAX, now uses Optional to signify whether the link was clicked utilizing AJAX or normal request processing: the AJAX request is wrapped in an Optional. Previous versions of Wicket would provide a null value for the AJAX request.
+    </p>
+    <p>
+      Because we have modified the API to utilize Optional, you will get compile errors when you start migrating to Wicket 8. This gives you the exact positions where these improvements have occurred and you can start working with the Optional API.
+    </p>
+  </div>
+  <div class="l-two-third">
+<figure class="highlight"><pre><code class="language-java" data-lang="java"><span class="c1">// WICKET 7:</span>
+<span class="n">add</span><span class="o">(</span><span class="k">new</span> <span class="n">AjaxFallbackLink</span><span class="o">&lt;</span><span class="n">Void</span><span class="o">&gt;(</span><span class="s">"wicket7"</span><span class="o">)</span> <span class="o">{</span>
+    <span class="nd">@Override</span>
+    <span class="kd">public</span> <span class="kt">void</span> <span class="nf">onClick</span><span class="o">(</span><span class="n">AjaxRequestTarget</span> <span class="n">target</span><span class="o">)</span> <span class="o">{</span>
+        <span class="k">if</span><span class="o">(</span><span class="n">target</span> <span class="o">!=</span> <span class="kc">null</span><span class="o">)</span> <span class="o">{</span>
+            <span class="c1">// ...</span>
+        <span class="o">}</span>
+    <span class="o">}</span>
+<span class="o">});</span>
+<span class="c1">// WICKET 8:</span>
+<span class="n">add</span><span class="o">(</span><span class="k">new</span> <span class="n">AjaxFallbackLink</span><span class="o">&lt;</span><span class="n">Void</span><span class="o">&gt;(</span><span class="s">"wicket8"</span><span class="o">)</span> <span class="o">{</span>
+    <span class="nd">@Override</span>
+    <span class="kd">public</span> <span class="kt">void</span> <span class="nf">onClick</span><span class="o">(</span><span class="n">Optional</span><span class="o">&lt;</span><span class="n">AjaxRequestTarget</span><span class="o">&gt;</span> <span class="n">target</span><span class="o">)</span> <span class="o">{</span>
+        <span class="k">if</span><span class="o">(</span><span class="n">target</span><span class="o">.</span><span class="na">isPresent</span><span class="o">())</span> <span class="o">{</span>
+            <span class="c1">// ...</span>
+        <span class="o">}</span>
+    <span class="o">}</span>
+<span class="o">});</span></code></pre></figure>
+  </div>
+</div>
+<div class="l-first">
+  <div class="l-full">
+    <h3>Models as Functional Interface</h3>
+    <p>
+      Wicket uses models as the databinding method: each data-aware component can take a model implementation to retrieve and store data in. From Wicket 8 we have made the root interface IModel a functional interface. You can now use lambdas where you can use models.
+    </p>
+    <p>
+      The following example binds a Label component to the name of a person object in different ways using Wicket 8:
+    </p>
+<figure class="highlight"><pre><code class="language-java" data-lang="java"><span class="n">add</span><span class="o">(</span><span class="k">new</span> <span class="n">Label</span><span class="o">(</span><span class="s">"name1"</span><span class="o">,</span> <span class="nl">person:</span><span class="o">:</span><span class="n">name</span><span class="o">));</span>
+<span class="n">add</span><span class="o">(</span><span class="k">new</span> <span class="n">Label</span><span class="o">(</span><span class="s">"name2"</span><span class="o">,</span> <span class="o">()</span> <span class="o">-&gt;</span> <span class="n">person</span><span class="o">.</span><span class="na">getName</span><span class="o">()));</span>
+<span class="n">add</span><span class="o">(</span><span class="k">new</span> <span class="n">Label</span><span class="o">(</span><span class="s">"name3"</span><span class="o">,</span> <span class="n">LambdaModel</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="n">personModel</span><span class="o">,</span> <span class="nl">Person:</span><span class="o">:</span><span class="n">getName</span><span class="o">)));</span>
+<span class="n">add</span><span class="o">(</span><span class="k">new</span> <span class="n">Label</span><span class="o">(</span><span class="s">"name4"</span><span class="o">,</span>
+  <span class="n">LambdaModel</span><span class="o">.</span><span class="na">of</span><span class="o">(</span><span class="n">contractModel</span><span class="o">,</span> <span class="nl">Contract:</span><span class="o">:</span><span class="n">getPerson</span><span class="o">)</span>
+    <span class="o">.</span><span class="na">map</span><span class="o">(</span><span class="nl">Person:</span><span class="o">:</span><span class="n">getName</span><span class="o">)));</span></code></pre></figure>
+    <p>
+      The new <code>LambdaModel</code> type in Wicket enables type safe, refactor safe databinding for components. Previously one would bind data to components using PropertyModel, using a string expression to determine the exact property to show. The string expression is something like <code>"person.name"</code>. This is inherently difficult to refactor when you decide to change the name field into for example <code>"lastName"</code>. With <code>LambdaModel</code>, this refactoring is trivial for IDEs to perform: the Java methods can easily be renamed and the IDE will find all the references.
+    </p>
+    <p>
+      Microbenchmarks have shown that using lambda models provides much better performance than the string based PropertyModel at the cost of slightly larger memory footprint.
+    </p>
+  </div>
+</div>
+<div class="l-first">
+  <div class="l-one-third">
+    <h3>No Rewrite Necessary</h3>
+    <p>
+      The Wicket team has been very careful of adopting Java 8 technologies and as such you don’t have to rewrite your whole application, whilst still reaping all the benefits of Java 8.
+    </p>
+    <p>
+      As this is a new major version we have, in accordance with semantic versioning, cleaned up many APIs and you will get compile errors when you migrate from previous Wicket versions.
+    </p>
+  </div>
+  <div class="l-one-third">
+    <h3>Migrating to Wicket 8</h3>
+    <p>
+      When you migrate from a previous Wicket version to Wicket 8, a full list of changes and migrations is available at the following page:
+    </p>
+    <p>
+      <a href="https://s.apache.org/wicket8migrate">https://s.apache.org/wicket8migrate</a>
+    </p>
+    <p>
+      Please consult this migration guide when you are moving towards Wicket 8.
+    </p>
+  </div>
+</div>
+    </section>
+</div>
+        <footer class="l-container">
+            <div class="l-full">
+   	<img src="/img/asf_logo_url.svg" style="height:90px; float:left; margin-right:10px;">
+    <div style="margin-top:12px;">Copyright © 2018 — The Apache Software Foundation. Apache Wicket, Wicket, Apache, the Apache feather logo, and the Apache Wicket project logo are trademarks of The Apache Software Foundation. All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div>
+</div>
+        </footer>
+    </body>
+
+</html>

http://git-wip-us.apache.org/repos/asf/wicket-site/blob/8baec90c/content/atom.xml
----------------------------------------------------------------------
diff --git a/content/atom.xml b/content/atom.xml
index 185d951..e1eaee4 100644
--- a/content/atom.xml
+++ b/content/atom.xml
@@ -3,7 +3,7 @@
     <title>Apache Wicket</title>
     <link href="http://wicket.apache.org/atom.xml" rel="self"/>
     <link href="http://wicket.apache.org/"/>
-    <updated>2018-02-21T19:50:13+01:00</updated>
+    <updated>2018-05-22T20:12:07+02:00</updated>
     <id>http://wicket.apache.org/</id>
     <author>
         <name>Apache Wicket</name>

http://git-wip-us.apache.org/repos/asf/wicket-site/blob/8baec90c/content/css/style.css
----------------------------------------------------------------------
diff --git a/content/css/style.css b/content/css/style.css
index 3537dca..5dd4c93 100644
--- a/content/css/style.css
+++ b/content/css/style.css
@@ -395,6 +395,10 @@ button.button--alert {
 
   h2, h3 {
     page-break-after: avoid; } }
+.lineno {
+  text-align: right;
+  margin-right: 0.5rem; }
+
 .highlight {
   background: #ffffff; }
 
@@ -830,6 +834,28 @@ div.quickstart-wizard {
   font-weight: bold;
   width: 2rem; }
 
+.wicket8 nav.mainmenu a, .wicket8 nav.mainmenu a:active, .wicket8 nav.mainmenu a:hover {
+  color: #111111; }
+.wicket8 .header {
+  color: #111111; }
+.wicket8 .jumbotron.header {
+  background-color: #BF866F;
+  background-image: url("../img/background-3.jpg");
+  background-repeat: no-repeat;
+  background-position: center 25%;
+  background-size: cover;
+  box-shadow: none; }
+.wicket8 .jumbotron .jumbotron-version {
+  color: #111111; }
+.wicket8 .jumbotron .jumbotron-poweredbyasf {
+  margin: 0 auto;
+  text-align: center; }
+  .wicket8 .jumbotron .jumbotron-poweredbyasf b {
+    font-weight: bold; }
+.wicket8 .jumbotron .jumbotron-mission {
+  font-size: 2rem;
+  font-weight: bold; }
+
 code, pre, code > span, pre > span {
   font-family: 'Source Code Pro', 'courier new', monospace;
   font-size: 0.875rem; }

http://git-wip-us.apache.org/repos/asf/wicket-site/blob/8baec90c/content/img/background-3.jpg
----------------------------------------------------------------------
diff --git a/content/img/background-3.jpg b/content/img/background-3.jpg
new file mode 100644
index 0000000..73896db
Binary files /dev/null and b/content/img/background-3.jpg differ