Update scrape-examples help, fix documentation typos
This commit is contained in:
parent
212d03dadc
commit
ae270f1b99
@ -2957,14 +2957,15 @@ fn render_call_locations(w: &mut Buffer, cx: &mut Context<'_>, item: &clean::Ite
|
|||||||
|
|
||||||
// The call locations are output in sequence, so that sequence needs to be determined.
|
// The call locations are output in sequence, so that sequence needs to be determined.
|
||||||
// Ideally the most "relevant" examples would be shown first, but there's no general algorithm
|
// Ideally the most "relevant" examples would be shown first, but there's no general algorithm
|
||||||
// for determining relevance. We instead make a proxy for relevance with the following heuristics:
|
// for determining relevance. We instead proxy relevance with the following heuristics:
|
||||||
// 1. Code written to be an example is better than code not written to be an example, e.g.
|
// 1. Code written to be an example is better than code not written to be an example, e.g.
|
||||||
// a snippet from examples/foo.rs is better than src/lib.rs. We don't know the Cargo directory
|
// a snippet from examples/foo.rs is better than src/lib.rs. We don't know the Cargo
|
||||||
// structure in Rustdoc, so we proxy this by prioriting code that comes from a --crate-type bin.
|
// directory structure in Rustdoc, so we proxy this by prioritizing code that comes from
|
||||||
// 2. Smaller examples are better than large examples. So we prioritize snippets that have the
|
// a --crate-type bin.
|
||||||
// smallest line span for their enclosing item.
|
// 2. Smaller examples are better than large examples. So we prioritize snippets that have
|
||||||
// 3. Finally we sort by the displayed file name, which is arbitrary but prevents the ordering
|
// the smallest number of lines in their enclosing item.
|
||||||
// of examples from randomly changing between Rustdoc invocations.
|
// 3. Finally we sort by the displayed file name, which is arbitrary but prevents the
|
||||||
|
// ordering of examples from randomly changing between Rustdoc invocations.
|
||||||
let ordered_locations = {
|
let ordered_locations = {
|
||||||
fn sort_criterion<'a>(
|
fn sort_criterion<'a>(
|
||||||
(_, call_data): &(&PathBuf, &'a CallData),
|
(_, call_data): &(&PathBuf, &'a CallData),
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
Rustdoc will automatically scrape examples of documented items from the `examples/` directory of a project. These examples will be included within the generated documentation for that item. For example, if your library contains a public function:
|
Rustdoc will automatically scrape examples of documented items from a project's source code. These examples will be included within the generated documentation for that item. For example, if your library contains a public function:
|
||||||
|
|
||||||
```rust
|
```rust
|
||||||
// src/lib.rs
|
// src/lib.rs
|
||||||
@ -16,6 +16,7 @@ fn main() {
|
|||||||
|
|
||||||
Then this code snippet will be included in the documentation for `a_func`.
|
Then this code snippet will be included in the documentation for `a_func`.
|
||||||
|
|
||||||
|
|
||||||
## How to read scraped examples
|
## How to read scraped examples
|
||||||
|
|
||||||
Scraped examples are shown as blocks of code from a given file. The relevant item will be highlighted. If the file is larger than a couple lines, only a small window will be shown which you can expand by clicking ↕ in the top-right. If a file contains multiple instances of an item, you can use the ≺ and ≻ buttons to toggle through each instance.
|
Scraped examples are shown as blocks of code from a given file. The relevant item will be highlighted. If the file is larger than a couple lines, only a small window will be shown which you can expand by clicking ↕ in the top-right. If a file contains multiple instances of an item, you can use the ≺ and ≻ buttons to toggle through each instance.
|
||||||
@ -25,7 +26,7 @@ If there is more than one file that contains examples, then you should click "Mo
|
|||||||
|
|
||||||
## How Rustdoc scrapes examples
|
## How Rustdoc scrapes examples
|
||||||
|
|
||||||
When you run `cargo doc`, Rustdoc will analyze all the crates that match Cargo's `--examples` filter for instances of items that occur in the crates being documented. Then Rustdoc will include the source code of these instances in the generated documentation.
|
When you run `cargo doc -Zunstable-options -Zrustdoc-scrape-examples`, Rustdoc will analyze all the documented crates for uses of documented items. Then Rustdoc will include the source code of these instances in the generated documentation.
|
||||||
|
|
||||||
Rustdoc has a few techniques to ensure this doesn't overwhelm documentation readers, and that it doesn't blow up the page size:
|
Rustdoc has a few techniques to ensure this doesn't overwhelm documentation readers, and that it doesn't blow up the page size:
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user