Want to help improve the documentation? That would be so very much appreciated. Some information on that below.
Philosophy of documentation
- Document the ugly parts as much as the good parts. It's better for users to know that we don't have a good solution to the problem they have and get the preferred workarounds from us than have to scour the dark and moist corners of StackOverflow.
- Provide runnable examples where possible. Learning through interacting with the code is a reason why REPLs are so popular. Thanks to Snack we can provide the same kind of experience for React Navigation users too.
- Be honest about the tradeoffs and limitations. We explain the pitch and anti-pitch of React Navigation and provide alternative libraries if React Navigation might not be a good fit. We should provide a similar level of honesty at finer levels of granularity as well.
Things anyone can do
Run it locally
- Clone the repository
- Run
yarn
yarn start
Make changes
- Each documentation version of
react-navigation
is generated by the markdown files located inversioned_docs
. Change them and refresh the page when running the documentation locally and you will see the changes reflected. - If you want to add a new page, you need to add it to the corresponding sidebars.json file and then restart the server.
Things you need to be a collaborator to do
Deployment is done automatically via Github Actions. Normally you shouldn't need to do these.
Download the latest translations
- Configure
CROWDIN_DOCUSAURUS_PROJECT_ID
andCROWDIN_DOCUSAURUS_API_KEY
environment variables (ask @brentvatne if you need access). - Run
yarn crowdin-upload
and thenyarn crowdin-download
Update the sponsors list
- Create a Github "Personal Access Token" here and set the
read:org
scope on it. - Set the environment variable
REACT_NAV_GITHUB_TOKEN
to that value. - Run
yarn fetch-sponsors
. - Commit the updated
sponsors.js
file.
Deploy it
Before deploying, be sure to download the latest translations!
Only collaborators on this repository can deploy. Run the following command from the main
branch:
GIT_USER=<Your GitHub username> \
CURRENT_BRANCH=main \
USE_SSH=true \
yarn deploy