This is an unpublished draft preview that might include content that is not yet approved. The published website is at

Files in Repositories

Source File Structure

All repositories have a common base structure with the following files and folders.

When Jekyll runs as part of the build process it creates a new _site folder containing the website files.


These are files containing the site specific content

Note: In many repositories content files are still in the root folder rather than the content folder. These will be changed over time.

Shared Content

These are shared between all resource repos and the main website. They are “copied” from the wai-website-data repository using git submodules and symlinks. Any changes are made in the other repository and need careful coordination if the published site is not to be broken. See below for more details.

Technical Infrastructure

Scaffolding. These will not usually be altered by content authors.

wai-website pages

Shared Files

A number of files are shared between all the resources and the published site. For example theme files, translation resources and gem dependencies. Unfortunately, there is currently no way to bundle those files with the theme.

So, for now, these files are held in the wai-website-data repo which is included as git submodule in all the other repositories that want to use them. The files appear in the _external folder. Unfortunately git submodules require several steps to ensure the latest version of these files appear in the using repository, which can cause some extra hoops to jump through.

These files in _external are not directly used, rather the _data folder contains symlinks to these shared files which are then used by the code. Again this requires extra manual work for setup but does allow more flexibility, such as using a local file while developing.

To summarise, code in the resource files make references to shared files in _data folder. These are actually symlinks to files in the submodule mounted at_external. These files are actually copies of files held in the wai-website-data repository, at a specific version. Keeping this all up-to-date and working requires commands that need to be run as required, usually as part of a website build step, using GitHub Actions

Back to Top

This is an unpublished draft preview that might include content that is not yet approved. The published website is at