summaryrefslogtreecommitdiffstats
path: root/src/doc/index.md
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/doc/index.md146
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