AssertJ Help and F.A.Q.

The AssertJ site is hosted on github, in the gh-pages branch of the assertj repository, just use github pull requests to contribute to it.

The site is composed of static HTML pages based on Bootstrap. A simple templating system is used to avoid duplicating site elements like menus or headers. The style aspects of AssertJs site are managed with LESS files.

To generate the full site use the command:

./build-site.sh

As the site is composed of generated files (HTML, css), you need to commit the generated files to publish them.

The templating system is a simple python script named generate-html.py which performs the following steps :

  • read HTML fragments from files like assertj-head.html and store their content in a map under predefined keys
  • process all *template.html files replacing $key by their map value, e.g. $head by the assertj-head.html content
  • dump the resulting content into a file without the template extension, e.g. assertj-neo4j.html for assertj-neo4j-template.html

Thus the rules :

  • Never directly edit the generated files.
  • Commit the generated files, they have to be pushed to the remote git repository to be published.

To generate HTML files (without building CSS files), use the command:

python generate-html.py

The css files used are built from the following LESS files :

  • custom-bootstrap.less : main LESS file importing all the needed LESS files for Bootstrap
  • custom-variables.less : a link to the LESS file containing the main variables used by Bootstrap
  • custom-other.less : additional LESS instructions related to Bootstrap
  • assertj.less : additional LESS instructions for stuff not directly related to Bootstrap.

To modify AssertJ style, either change existing values in custom-variables.less or add new instructions in assertj.less.

To generate the CSS files, it is best to reuse the build all command since generating HTML files is super fast:

./build-site.sh