= Apache Shiro Website Overview

The Apache Shiro website is a static content website accessible at http://shiro.apache.org/.

Site content is authored as Markdown, Asciidoc and HTML files.
These files are parsed by the tool `jbake` and renders the content files using freemarker templates to static `.html` files.

To publish the site commit changes to the `asf-site` branch of this repository.
ASF infrastructure will see the commit and automatically push the changes to the ASF͘'s production webservers.

== Generating and Publishing

The tool used to generate the static content is https://jbake.org/[JBake].
JBake is used as a maven plugin, i.e. you do not need to have it in your `${PATH}`.
Generating and publishing the site on the command only takes a few maven and git commands.
Please carefully check the requirements outlined in link:CONTRIBUTING.adoc[].

The following example assumes you have commit permissions to the `apache/shiro-site` repository, typically because you are an Apache Shiro project committer:

[source,bash]
----
# clone both repo branches `asf-site` and `main`
git clone https://github.com/apache/shiro-site -b asf-site shiro-site-publish
git clone https://github.com/apache/shiro-site

# build the site
cd shiro-site
mvn clean process-classes
# Open up the local ../shiro-site-publish/index.html file in your web browser.
# Ensure the changes reflect what you want.

# These next commands will publish changes to live ASF web servers.
# Be confident the changes are what you want:
rsync -avP target/website/. ../shiro-site-publish
cd ../shiro-site-publish
# Please check that you did not modify any of the following files:
# .asf.yaml
# .htaccess
# robots.txt
git add .
git commit -am "my change description"
git push origin asf-site
----

It should only take a few moments until the changes are live.
