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 protected] 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 .asf.yaml mechanism.
Once the staged content is correct then the asf-staging branch's 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 [email protected] 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:
- Navigate to the assets/statsfolder
- Click on aoo-downloads.txtfile and edit it.
- Commit changes.
- Wait for the OpenOffice-org-Staging-Site-Build to complete. This will take 5-6 minutes unless another build is using the server.
- Check the Download Stats page
- Go to the OpenOffice-org-Publish-Site Jenkins job and press the Build Nowbutton. 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.
- Install JBake from http://jbake.org/download.html
- Currently it looks like version 2.6.3 or greater is required.
 
- Create an environment variable JBAKE_HOMEpointing to your JBake installation, e.g.- export JBAKE_HOME=/usr/local/Cellar/jbake/2.6.4
 
- Ensure that you have a JVM locally, e.g. OpenJDK
To get a copy of the repository you can either point to Gitbox or GitHub.
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
./build_local.sh
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 part2 directory.
.html and .md files in the content tree are processed by templates as directed within jbake.properties.
https://github.com/apache/openoffice-org/tree/main/content
https://github.com/apache/openoffice-org/tree/main/part2/content
- The page header comes from brand.mdfiles. Thebrandtemplate is HTML with markdown metadata insertions.
- Navigators are *nav.mdfiles. Thenavigatortemplate is markdown with metadata selecting the CSS class.
- All brand.md,topnav.md,leftnav.md, andrightnav.mdfiles must be registered intemplates/ssi_paths.gspin order to be included in that subtree of the site.
Every file in the assets tree is copied as is during baking.
https://github.com/apache/openoffice-org/tree/main/assets
https://github.com/apache/openoffice-org/tree/main/part2/assets
- Files larger than 100MB are not allowed and over 50MB are not recommended. Only one file in the CMS site was too large to migrate.
- Please do not add any .exebinaries.
The site footer is an HTML asset and is found here: footer.html.