rust/src/doc
kennytm d0f8cf32b3
Rollup merge of #53076 - QuietMisdreavus:cfg-rustdoc, r=GuillaumeGomez
set cfg(rustdoc) when rustdoc is running on a crate

When using `#[doc(cfg)]` to document platform-specific items, it's a little cumbersome to get all the platforms' items to appear all at once. For example, the standard library adds `--cfg dox` to rustdoc's command line whenever it builds docs, and the documentation for `#![feature(doc_cfg)]` suggests using a Cargo feature to approximate the same thing. This is a little awkward, because you always need to remember to set `--features dox` whenever you build documentation.

This PR proposes making rustdoc set `#[cfg(rustdoc)]` whenever it runs on a crate, to provide an officially-sanctioned version of this that is set automatically. This way, there's a standardized way to declare that a certain version of an item is specifically when building docs.

To try to prevent the spread of this feature from happening too quickly, this PR also restricts the use of this flag to whenever `#![feature(doc_cfg)]` is active. I'm sure there are other uses for this, but right now i'm tying it to this feature. (If it makes more sense to give this its own feature, i can easily do that.)
2018-09-01 23:18:41 +08:00
..
book@16c9dee766 update nomicon and book 2018-08-22 21:17:58 +02:00
man Remove references to AUTHORS.txt file 2018-07-30 07:47:12 +02:00
nomicon@ae42ad7aa4 update nomicon and book 2018-08-22 21:17:58 +02:00
reference@219e261ddb update books for new release 2018-07-30 11:09:48 -04:00
rust-by-example@e3719fc78f update books for new release 2018-07-30 11:09:48 -04:00
rustc Fix typos found by codespell. 2018-08-19 17:41:28 +02:00
rustdoc Rollup merge of #53076 - QuietMisdreavus:cfg-rustdoc, r=GuillaumeGomez 2018-09-01 23:18:41 +08:00
unstable-book feature(doc_cfg): add docs for cfg(rustdoc) 2018-08-31 13:29:10 -05:00
complement-design-faq.md Remove the FAQs in favor of the website 2015-12-23 14:03:45 -08:00
complement-lang-faq.md Remove the FAQs in favor of the website 2015-12-23 14:03:45 -08:00
complement-project-faq.md Remove the FAQs in favor of the website 2015-12-23 14:03:45 -08:00
favicon.inc Use https URLs to refer to rust-lang.org where appropriate. 2015-08-09 14:28:46 -07:00
footer.inc rustdoc: Improve playground run buttons 2016-10-15 18:32:03 +01:00
full-toc.inc doc: add webfonts and tweak the styles accordingly 2014-04-19 21:25:35 +09:00
grammar.md Rollup merge of #50791 - bstrie:null, r=QuietMisdreavus 2018-05-17 13:51:25 -06:00
guide-crates.md Grammar tweak to old guide stub documents. 2015-01-16 22:25:22 -05:00
guide-error-handling.md Grammar tweak to old guide stub documents. 2015-01-16 22:25:22 -05:00
guide-ffi.md Grammar tweak to old guide stub documents. 2015-01-16 22:25:22 -05:00
guide-macros.md Grammar tweak to old guide stub documents. 2015-01-16 22:25:22 -05:00
guide-ownership.md Grammar tweak to old guide stub documents. 2015-01-16 22:25:22 -05:00
guide-plugins.md Add top level sections to the Unstable Book. 2017-04-18 21:26:09 -04:00
guide-pointers.md Change removal notice for pointer guide. 2015-06-29 15:18:00 -04:00
guide-strings.md Grammar tweak to old guide stub documents. 2015-01-16 22:25:22 -05:00
guide-tasks.md Fix broken link in old rust guide 2015-03-04 23:18:24 +00:00
guide-testing.md Grammar tweak to old guide stub documents. 2015-01-16 22:25:22 -05:00
guide-unsafe.md Grammar tweak to old guide stub documents. 2015-01-16 22:25:22 -05:00
guide.md Grammar tweak to old guide stub documents. 2015-01-16 22:25:22 -05:00
index.md Fix typos found by codespell. 2018-08-19 17:41:28 +02:00
intro.md Remove the 30 minute intro 2015-04-18 17:55:31 -04:00
not_found.md fix markdown file differences 2017-12-07 23:56:21 +01:00
README.md fix for documentation error issue 47716 2018-01-24 09:25:46 -07:00
reference.md Redirect to the new reference 2017-02-21 14:03:13 -05:00
rust.css Fix error index display 2018-01-09 22:26:26 +01:00
rust.md Avoid linking to a moved page in rust.html 2017-03-29 15:38:47 +02:00
rustc-ux-guidelines.md Rename trans to codegen everywhere. 2018-05-17 15:08:30 +03:00
rustdoc.md Move rustdoc.md into the book 2015-01-21 14:59:25 -05:00
tutorial.md Update tutorial.md 2018-05-17 12:25:24 -07:00
version_info.html.template Add alt tags for logos 2016-01-20 11:53:20 -05:00

Rust documentations

Building

To generate all the docs, follow the "Building Documentation" instructions in the README in the root of the repository. This will convert the distributed Markdown docs to HTML and generate HTML doc for the books, 'std' and 'extra' libraries.

To generate HTML documentation from one source file/crate, do something like:

rustdoc --output html-doc/ --output-format html ../src/libstd/path.rs

(This, of course, requires a working build of the rustdoc tool.)

Additional notes

To generate an HTML version of a doc from Markdown manually, you can do something like:

rustdoc reference.md

(reference.md being the Rust Reference Manual.)

An overview of how to use the rustdoc command is available in the docs. Further details are available from the command line by with rustdoc --help.