This is the content and build scripts for https://www.openoffice.org/
You can fork from https://github.com/apache/openoffice-org, test your changes as described below and raise a pull request.
Use the email@example.com mailing list to contact the OpenOffice PMC which manages this website.
Commits to the
main branch are automatically checked out and built using
build_staging.sh by the OpenOffice-org-Staging-Site-Build Jenkins job. The results are pushed to the
content folder of the
asf-staging branch which is in turn published automatically to https://openoffice-org.staged.apache.org/ by the ASF's
Once the staged content is correct then the
content folder is copied to the
asf-site branch using
copy_staging.sh by the OpenOffice-org-Publish-Site Jenkins job. This job will need to be started manually.
Any build failures are reported to firstname.lastname@example.org mailing list.
Updating a single file should proceed as follows. I'll use the most commonly updated file (the weekly download numbers) as an example:
aoo-downloads.txt file and edit it.
Download Stats page
Build Now button. This will take from 4-6 minutes unless another build is using the server.
The website is built using JBake and Groovy templates. The builds for the website do require internet access.
JBAKE_HOME pointing to your JBake installation, e.g.
To get a copy of the repository you can either point to
cd ~/Development/openoffice rm -rf ooo-site.git git clone https://gitbox.apache.org/repos/asf/openoffice-org.git ooo-site.git git fetch git pull git checkout main
To test the site locally, use
This builds the site, serves it locally at http://localhost:8820/ and rebuilds the content fairly quickly if any changes are made. Only the files that are not in
part2 are watched.
Note that serving the site through JBake does not properly include the SSI which means that branding, navigation, and footers will be missing. If you wish to set up an HTTPD server on your local you can do that too.
Modify that script and call
bake.sh with any of the arguments you would pass to jbake.
Most of the pages in the site are written using HTML. Many more recent pages are written using Markdown While it is a form of Markdown, JBake uses Flexmark/Java which implements Pegdown. It does have some syntax differences that are worth reviewing
The site templates are written in Groovy scripts. Even though the files end with
.gsp they are not GSP files and do not have access to tag libraries. You can run custom code in them. See Templates Read Me for details.
Due to exceeding the maximum number of files needing rendering the site is baked in two phases. Some folders are in the
.md files in the content tree are processed by templates as directed within
brand.md files. The
brand template is HTML with markdown metadata insertions.
*nav.md files. The
navigator template is markdown with metadata selecting the CSS class.
rightnav.md files must be registered in
templates/ssi_paths.gsp in order to be included in that subtree of the site.
Every file in the assets tree is copied as is during baking.
The site footer is an HTML asset and is found here: