You can contribute to this guide by following these steps:

* The guide uses Grails GDoc to generate the final HTML/PDF so you should consult with its [syntax|http://grails.org/WikiSyntax].

* Clone Apache Wicket's GIT repository [site|https://github.com/apache/wicket.git] 
{code}
git clone https://github.com/apache/wicket.git
{code}

* Edit the _.gdoc_ files in _wicket/wicket-user-guide/src/docs/guide_ folder 

* To preview your changes run "mvn clean package -P guide" in the _wicket/wicket-user-guide_ folder (in eclipse use a run configuration)

* Navigate to _wicket/wicket-user-guide/target/guide/6.x_ and open one of the following files a browser / pdf viewer:
** _index.html_ (multi page version)
** _guide/single.html_ (single page version)
** _guide/single.pdf_ (single page pdf version)

* Create a ticket in Apache Wicket's [JIRA|https://issues.apache.org/jira/browse/WICKET]

* *Commit and push the changes* to your forked Apacke Wicket's GIT repository and *create a pull request* on github

*Thank you!*
