Skip to content

Commit 1c651e3

Browse files
committed
The Rust Bookshelf
1 parent 2688de4 commit 1c651e3

File tree

1 file changed

+104
-0
lines changed

1 file changed

+104
-0
lines changed

text/0000-rust-bookshelf.md

+104
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
- Feature Name: N/A
2+
- Start Date: 2016-12-25
3+
- RFC PR:
4+
- Rust Issue:
5+
6+
# Summary
7+
[summary]: #summary
8+
9+
Create a "Rust Bookshelf" of learning resources for Rust.
10+
11+
* Pull the book out of tree into `rust-lang/book`, which holds the second
12+
edition, currently.
13+
* Pull the nomicon and the reference out of tree and convert them to mdBook.
14+
* Pull the cargo docs out of tree and convert them to mdBook.
15+
* Create a new "Nightly Book" in-tree.
16+
* Provide a path forward for more long-form documentation to be maintained by
17+
the project.
18+
19+
# Motivation
20+
[motivation]: #motivation
21+
22+
There are a few independent motivations for this RFC.
23+
24+
* Separate repos for separate projects.
25+
* Consistency between long-form docs.
26+
* A clear place for unstable documentation, which is now needed for
27+
stabilization.
28+
* Better promoting good resources like the 'nomicon, which may not be as well
29+
known as "the book" is.
30+
31+
These will be discussed further in the detailed design.
32+
33+
# Detailed design
34+
[design]: #detailed-design
35+
36+
Several new repositories will be made, one for each of:
37+
38+
* The Rustinomicon ("the 'nomicon")
39+
* The Cargo Book
40+
* The Rust Reference Manual
41+
42+
They will all use mdBook to build. They will have their existing text re-worked
43+
into the format; at first a simple conversion, then more major improvements.
44+
Their currnet text will be removed from the main tree.
45+
46+
The first edition of the book lives in-tree, but the second edition lives in
47+
`rust-lang/book`. We'll remove the existing text from the tree and move it
48+
into `rust-lang/book`.
49+
50+
A new book will be created from the "Nightly Rust" section of the book. It
51+
will be called "The Nightly Book," and will contain unstable documentation.
52+
This came up when [trying to document RFC
53+
1623](https://github.com/rust-lang/rust/pull/37928). We don't have a unified
54+
way of handling unstable documentation. This will give it a place to develop,
55+
and part of the stabilization process will be moving documentation from this
56+
book into the other parts of the documentation.
57+
58+
The nightly book will be organized around `#![feature]`s, so that you can look
59+
up the documentation for each feature, as well as seeing which features
60+
currently exist.
61+
62+
The landing page on doc.rust-lang.org will show off the full bookshelf, to let
63+
people find the documenation they need. It will also link to their respective
64+
repositories.
65+
66+
Finally, this creates a path for more books in the future: "the FFI Book" would
67+
be one example of a possibility for this kind of thing. The docs team will
68+
develop critera for accepting a book as part of the official project.
69+
70+
# How We Teach This
71+
[how-we-teach-this]: #how-we-teach-this
72+
73+
The landing page on doc.rust-lang.org will show off the full bookshelf, to let
74+
people find the documenation they need. It will also link to their respective
75+
repositories.
76+
77+
# Drawbacks
78+
[drawbacks]: #drawbacks
79+
80+
A ton of smaller repos can make it harder to find what goes where.
81+
82+
Removing work from `rust-lang/rust` means people aren't credited in release
83+
notes any more. I will be opening a separate RFC to address this issue, it's
84+
also an issue without this RFC being accepted.
85+
86+
Operations are harder, but they have to change to support this use-case for
87+
other reasons, so this does not add any extra burden.
88+
89+
# Alternatives
90+
[alternatives]: #alternatives
91+
92+
Do nothing.
93+
94+
Do only one part of this, instead of the whole thing.
95+
96+
# Unresolved questions
97+
[unresolved]: #unresolved-questions
98+
99+
How should the first and second editions of the book live in the same
100+
repository?
101+
102+
What criteria should we use to accept new books?
103+
104+
Should we adopt "learning Rust with too many Linked Lists"?

0 commit comments

Comments
 (0)