We'd love your help! Thanks for caring about the book.
All edits should be made in the src
directory.
The nostarch
directory contains snapshots for sending edits to the publishers
of the print version. The snapshot files reflect what has been sent or not, so
they only get updated when edits are sent to No Starch. Do not submit pull
requests changing files in the nostarch
directory, they will be closed.
We use rustfmt
to apply standard formatting to Rust code in the
repo and dprint
to apply standing formatting to the Markdown source
and the non-Rust code in the project.
You will normally have rustfmt
installed if you have a Rust toolchain
installed; if for some reason you do not have a copy of rustfmt
, you can add
it by running the following command:
rustup component add rustfmt
To install dprint
, you can run the following command:
cargo install dprint
Or follow the instructions on the dprint
website.
To format Rust code, you can run rustfmt <path to file>
, and to format other
files, you can pass dprint <path to file>
. Many text editors also have native
support or extensions for both rustfmt
and dprint
.
The book rides the Rust release trains. Therefore, if you see a problem on
https://doc.rust-lang.org/stable/book, it may already be fixed on the main
branch in this repo, but the fix hasn't gone through nightly -> beta -> stable
yet. Please check the main
branch in this repo before reporting an issue.
Looking at the history for a particular file can also give more information on how or whether an issue has been fixed or not if you're trying to figure that out.
Please also search open and closed issues and open and closed PRs before reporting a new issue or opening a new PR.
This repository is under the same license as Rust itself, MIT/Apache2. You
can find the full text of each license in the LICENSE-*
files in this
repository.
The Rust project has a code of conduct that governs all sub-projects, including this one. Please respect it!
Because the book is printed, and because we want to keep the online version of the book close to the print version when possible, it may take longer than you're used to for us to address your issue or pull request.
So far, we've been doing a larger revision to coincide with Rust Editions. Between those larger revisions, we will only be correcting errors. If your issue or pull request isn't strictly fixing an error, it might sit until the next time that we're working on a large revision: expect on the order of months or years. Thank you for your patience!
If you're looking for ways to help that don't involve large amounts of reading or writing, check out the open issues with the E-help-wanted label. These might be small fixes to the text, Rust code, frontend code, or shell scripts that would help us be more efficient or enhance the book in some way!
We'd love help translating the book! See the Translations label to join in efforts that are currently in progress. Open a new issue to start working on a new language! We're waiting on mdbook support for multiple languages before we merge any in, but feel free to start!