Contributing

We welcome all support for this User Guide, whether on bug reports, code, design, reviews, tests, documentation, translations or just feature requests.

Contributing

All of the User Guide pages are maintained in Wagtail. We use GitHub Discussions to coordinate content improvements, with features requests and bug reports for the site in the issue tracker.

Writing content

If you want to help with content, reach out to us in GitHub Discussions or on the #editor-guide channel of the Wagtail Slack workspace. We will then create an account for you in Wagtail, making sure you have access to the right parts of the content.

Translations

We want the guide to ultimately be available in as many languages as Wagtail itself. If you want to help with translations, start a thread in GitHub Discussions or join the #editor-guide channel of the Wagtail Slack workspace. We will then create an account for you in Wagtail, making sure you have access to the right parts of the content.

How to translate

We set up a separate translation team for each language, with their own Group able to submit changes to all pages and images in their locale. Translation teams reflect the changes in the “latest” version of the documentation, with legacy versions only being accessible to admin users.

Versioning

Our default "latest" version of the guide corresponds to Wagtail’s last stable release. When Wagtail has a new release, we create a copy of the guide’s "latest" content for the stable version that’s no longer the latest. Here are the preliminary steps to do this:

  1. Make sure the version exists in the Django settings (WAGTAIL_GUIDE_VERSIONS).
  2. Add the new version in the CMS in Locales.
  3. Add the new version in the CMS in Collections – with a parent collection matching the version number, and then a child collection for any language with translated images (currently English only).
  4. Update or remove all redirects that were created ahead of time to link to pages of this new version.
    1. Add a root redirect for the now-latest version number.
    2. Update any page-specific redirects to use the now-latest version number.
    3. After having created the page (see below), update the root redirect for the previous-latest version number to point to the new location of that page.

Then for every locale:

  1. For all pages of the "latest" locale, manually sync translations (without publishing).
  2. Translate the "latest" homepage of the site (without child pages) to the new locale.
  3. Translate all child pages of the "latest" homepage (with child pages) to the new locale.
  4. For all pages of the new locale, manually publish changes for published pages only (page by page).
  5. Make sure to re-order the pages of the new locale as expected.

Finally, for images:

  1. Bulk-move all images in the "English (latest)" collection to the new collection.
  2. Create a new copy of every image in the new collection, assigning it to the "English (latest)" collection
  3. Go through all "latest" pages of the site and update them to use the new copies of the images
  4. For all pages of the "latest" locale, manually sync translations (without publishing).
  5. For all "latest" locales, go through the pages and publish the ones that have no translations missing, so they use the latest images.