2020-06-09 16:40:18 +00:00
# Contribute
2020-06-19 13:55:11 +00:00
Follow these steps to contribute to this book!
2020-06-09 16:50:10 +00:00
We use an utility tool called mdBook to create online books from Markdown files.
2020-06-09 16:40:18 +00:00
## Before You Start
1. Install mdBook from [here ](https://github.com/rust-lang/mdBook ).
2020-10-08 18:57:07 +00:00
2. Clone the repository by `git clone https://github.com/status-im/nimbus-eth2.git` .
2021-06-03 12:43:20 +00:00
3. Go to where the Markdown files are located by `cd docs/the_nimbus_book/` .
2020-06-09 16:40:18 +00:00
## Real-Time Update and Preview Changes
1. Run `mdbook serve` in the terminal.
2. Preview the book at [http://localhost:3000 ](http://localhost:3000 ).
## Build and Deploy
2021-04-28 14:06:00 +00:00
The first step is to submit a pull request to the [unstable branch ](https://github.com/status-im/nimbus-eth2/tree/unstable ).
2020-06-19 13:55:11 +00:00
Then, after it is merged, do the following under our main repository:
2020-10-08 18:57:07 +00:00
1. `cd nimbus-eth2`
2021-04-28 14:06:00 +00:00
2. `git checkout unstable`
2020-06-19 13:55:11 +00:00
3. `git pull`
4. `make update` (This is to update the submodules to the latest version)
5. `make publish-book`
2020-06-09 16:40:18 +00:00
2021-04-28 14:06:00 +00:00
## Troubleshooting
2020-06-19 14:03:17 +00:00
2021-04-28 14:06:00 +00:00
If you see file conflicts in the pull request, this may due to that you have created your new branch from an old version of the `unstable` branch. Update your new branch using the following commands:
2020-06-19 14:03:17 +00:00
```
2021-04-28 14:06:00 +00:00
git checkout unstable
2020-06-19 14:03:17 +00:00
git pull
make update
git checkout readme
2021-04-28 14:06:00 +00:00
git merge unstable
# use something like "git mergetool" to resolve conflicts, then read the instructions for completing the merge (usually just a `git commit`)
# check the output of "git diff unstable"
2020-06-19 14:03:17 +00:00
```
2020-06-09 16:40:18 +00:00
Thank you so much for your help to the decentralized and open source community. :)