diff options
Diffstat (limited to '')
-rw-r--r-- | src/doc/index.md | 146 |
1 files changed, 146 insertions, 0 deletions
diff --git a/src/doc/index.md b/src/doc/index.md new file mode 100644 index 000000000..b77790e33 --- /dev/null +++ b/src/doc/index.md @@ -0,0 +1,146 @@ +% Rust Documentation + +<style> +nav { + display: none; +} +#search-input { + width: calc(100% - 58px); +} +#search-but { + cursor: pointer; +} +#search-but, #search-input { + padding: 4px; + border: 1px solid #ccc; + border-radius: 3px; + outline: none; + font-size: 0.7em; + background-color: #fff; +} +#search-but:hover, #search-input:focus { + border-color: #55a9ff; +} +h2 { + font-size: 18px; +} +</style> + +Welcome to an overview of the documentation provided by the [Rust project]. +All of these projects are managed by the Docs Team; there are other +unofficial documentation resources as well! + +Many of these resources take the form of "books"; we collectively call these +"The Rust Bookshelf." Some are large, some are small. + +# Learn Rust + +If you'd like to learn Rust, this is the spot for you! All of these resources +assume that you have programmed before, but not in any specific language: + +## The Rust Programming Language + +Affectionately nicknamed "the book," [The Rust Programming +Language](book/index.html) will give you an overview of the language from +first principles. You'll build a few projects along the way, and by the end, +you'll have a solid grasp of the language. + +## Rust By Example + +If reading multiple hundreds of pages about a language isn't your style, then +[Rust By Example](rust-by-example/index.html) has you covered. While the book talks about code with +a lot of words, RBE shows off a bunch of code, and keeps the talking to a +minimum. It also includes exercises! + +## Rustlings + +[Rustlings](https://github.com/rust-lang/rustlings) guides you through downloading and setting up the Rust toolchain, +and teaches you the basics of reading and writing Rust syntax. It's an +alternative to Rust by Example that works with your own environment. + +# Use Rust + +Once you've gotten familiar with the language, these resources can help you +when you're actually using it day-to-day. + +## The Standard Library + +Rust's standard library has [extensive API documentation](std/index.html), +with explanations of how to use various things, as well as example code for +accomplishing various tasks. + +<div> + <form action="std/index.html" method="get"> + <input id="search-input" type="search" name="search" + placeholder="Search through the standard library"/> + <button id="search-but">Search</button> + </form> +</div> + +## The Edition Guide + +[The Edition Guide](edition-guide/index.html) describes the Rust editions. + +## The Rustc Book + +[The Rustc Book](rustc/index.html) describes the Rust compiler, `rustc`. + +## The Cargo Book + +[The Cargo Book](cargo/index.html) is a guide to Cargo, Rust's build tool and dependency manager. + +## The Rustdoc Book + +[The Rustdoc Book](rustdoc/index.html) describes our documentation tool, `rustdoc`. + +## The Clippy Book + +[The Clippy Book](clippy/index.html) describes our static analyzer, Clippy. + +## Extended Error Listing + +Many of Rust's errors come with error codes, and you can request extended +diagnostics from the compiler on those errors. You can also [read them +here](error-index.html), if you prefer to read them that way. + +# Master Rust + +Once you're quite familiar with the language, you may find these advanced +resources useful. + +## The Reference + +[The Reference](reference/index.html) is not a formal spec, but is more detailed and +comprehensive than the book. + +## The Rustonomicon + +[The Rustonomicon](nomicon/index.html) is your guidebook to the dark arts of unsafe +Rust. It's also sometimes called "the 'nomicon." + +## The Unstable Book + +[The Unstable Book](unstable-book/index.html) has documentation for unstable features. + +## The `rustc` Contribution Guide + +[The `rustc` Guide](https://rustc-dev-guide.rust-lang.org/) documents how +the compiler works and how to contribute to it. This is useful if you want to build +or modify the Rust compiler from source (e.g. to target something non-standard). + +# Specialize Rust + +When using Rust in specific domain areas, consider using the following resources tailored to each domain. + +## Embedded Systems + +When developing for Bare Metal or Embedded Linux systems, you may find these resources maintained by the [Embedded Working Group] useful. + +[Embedded Working Group]: https://github.com/rust-embedded + +### The Embedded Rust Book + +[The Embedded Rust Book] is targeted at developers familiar with embedded development and familiar with Rust, but have not used Rust for embedded development. + +[The Embedded Rust Book]: embedded-book/index.html +[Rust project]: https://www.rust-lang.org |