= Apache James website

This repository is part of https://james.apache.org/[Apache James] project.

The sources are available here https://gitbox.apache.org/repos/asf#james and mirrored to Github.

This repository is used for storing (some) content for https://james.apache.org[Apache James] website.

It's also used to build and publish the website.

Please see https://james.apache.org/james-site/latest/index.html[online documentation website] or the `docs/` folder.

IMPORTANT: The website must not be published as Apache Source files.
The reason is the antora ui-bundle uses MPL 2.0 license and we can't mix it with ASF 2.0 https://issues.apache.org/jira/browse/LEGAL-530 .
