The ASF Website

Clone this repo:
  1. d054508 We currently have a step that blocks release of security issues until by Mark J. Cox · 8 hours ago main
  2. f4ff8f2 Remove TenCent Platinum sponsorship. by Bob Paulin · 3 days ago
  3. 2fd225a Merge pull request #149 from abti/patch-1 by sebbASF · 13 days ago
  4. 55b8549 Add abti to members.md by Abhishek Tiwari · 13 days ago
  5. 4d1ce3a Update index.md by Andrew Wetmore · 3 weeks ago

Apache Foundation Website (www.apache.org)

This repository provides the source for the main website of The Apache Software Foundation.

Linking to Markdown (.md) sources

Markdown (.md) files appear in the preview pane of the editor approximately as they will appear in the generated website. This is convenient for reviewing changes, but means that linking to the source requires a bit more work compared with other files. If you want to create a permalink or raise an issue that relates to a particular Markdown source line, proceed as follows:

Documentation

Read the Getting started guide and the pages it links to.

Notes

The website is built with Pelican.

You can use the infrastructure-pelican Dockerfile build the website locally for testing.

Continuous Integration / Continuous Deployment (CI/CD) is via the .asf.yaml file mechanism, which runs Buildbot.

The svn history was not migrated and remains available.

Foundation records, including minutes of Board meetings, remain in svn, except for the index page.

Wimsy maintains the board calendar - calendar.md in SVN. At the start of each build, a setup entry in pelicanconf.yaml calls the get_calendar.sh script, which copies the calendar into content/foundation/board.

Changes to the file do not automatically trigger a build, but the file changes rarely (about once a month) and there are regular builds which pick up changes within an hour or so.

Local development and testing

If you wish to update and test the site locally, there is a Docker build script you can use. You will also need Git, and familiarity with working in a command-line shell.

The following instructions should work for Unix and macOS, but will need adjustment for Windows.

  • Install Docker.
  • Change to a suitable directory.
  • Get the Infra Pelican setup: git clone https://github.com/apache/infrastructure-pelican.
  • Change to the checkout: cd infrastructure-pelican.
  • Build the container: docker build -t pelican-asf .. This will take a while the first time.
  • Change to a suitable directory.
  • Get the ASF website source: git clone https://github.com/apache/www-site.
  • Change to the website checkout: cd www-site.
  • Create a dummy authorisation file: touch .authtokens.
  • Start the continuous builder: docker run -it -p8000:8000 -v $PWD:/site pelican-asf. This will generate a lot of output, but will eventually stop.
  • Browse to http://localhost:8000/ .
  • If the builder reports a failure trying to find content/theme/apache, try changing the theme entry in pelicanconf.yaml to theme: ../theme/apache and re-run

If you make changes to the local copy of www-site, these will be automatically built, and should appear in the browser when you refresh the page.