Pact Docs Website
Local development
The files are markdown, stored under the docs
directory.
You will need Docker and Docker Compose to run the docs application locally.
docker-compose up
Adding pages
- Add the file to the appropriate path under the
docs
directory. - Update website/sidebars.json.
Moving pages
- Find the file under the
docs
directory. - Move it to the directory/name you want.
- Update website/sidebars.json.
- Do a file search and replace to update any internal references to the page.
- Create a redirect in netlify.toml.
Automatic syncing from the markdown files in each Pact implementation repository
The markdown files in the following directories are synced from their respective source repositories. Do not edit them directly!
docs/implementation_guides/go
docs/implementation_guides/javascript
docs/implementation_guides/jvm
docs/implementation_guides/python
docs/implementation_guides/cpp
docs/implementation_guides/rust
docs/pact_broker/docker_images/
Each of the above Pact repositories has a Github workflow that triggers the sync-docs workflow when any markdown files are edited on master
.
When the sync-docs workflow runs, it pulls in the master
markdown files from the changed repository, syncs and processes them, and then commits and pushes them. On push, Netlify automatically deploys.
Hosting
The Pact docs site is hosted by Netlify. Thanks!
The site will be automatically redeployed after any push to master
.
Search
The search is provided free by Algolia because Pact is an open source project. It is configured in docs.pact.io in website/siteConfig.js
. It is configured in Algolia in https://github.com/algolia/docsearch-configs/blob/master/configs/pact.json The Algolia analytics page is here. Currently only Beth has access to it via her Github login. We may be able to add extra people, but she hasn't looked into that yet. Info on how to style the search UI is here.
Contributing
See CONTRIBUTING.md