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.
- Clone the repository
- Run
yarn
yarn start
- Each documentation version of
react-navigation is generated by the markdown files located in versioned_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 and CROWDIN_DOCUSAURUS_API_KEY environment variables (ask @brentvatne if you need access).
- Run
yarn crowdin-upload and then yarn crowdin-download
- 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.
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
MIT License