summary refs log tree commit diff
path: root/src/librustdoc/html/render.rs
AgeCommit message (Collapse)AuthorLines
2017-03-12rustdoc: Fix string escaping in implementors js filesOliver Middleton-1/+1
The generates HTML can contain quotes so we need to make sure they are escaped before inserting into the js files.
2017-02-28Rollup merge of #39944 - GuillaumeGomez:associated-consts, r=frewsxcvCorey Farwell-21/+43
Improve associated constant rendering in rustdoc Before: <img width="1440" alt="screen shot 2017-02-19 at 00 30 51" src="https://cloud.githubusercontent.com/assets/3050060/23097697/caeed80e-f63a-11e6-98c2-5d27e4efd76d.png"> After: <img width="1440" alt="screen shot 2017-02-19 at 00 30 39" src="https://cloud.githubusercontent.com/assets/3050060/23097698/cfb4874e-f63a-11e6-80cf-ffbf5c5c6162.png"> cc @SergioBenitez r? @rust-lang/docs
2017-02-28Apply the same transformation to every typesGuillaume Gomez-15/+28
2017-02-26Put the const type and value into <code>Guillaume Gomez-8/+17
2017-02-26Improve associated constant rendering in rustdocGuillaume Gomez-1/+1
2017-02-25Fix nightly-only experimental API displayGuillaume Gomez-4/+4
2017-02-12Rollup merge of #39740 - jimmycuadra:rustdoc-empty-stability, r=aturonGuillaume Gomez-5/+11
rustdoc: Only include a stability span if needed. This patch gets rid of the empty stability boxes in docs by only including the span that creates it when the item actually has a stability class. Here are images of the issue on `std::process::Output`: Before: <img width="340" alt="before" src="https://cloud.githubusercontent.com/assets/122457/22853638/ff88d1b2-f010-11e6-90d6-bf3d10e2fffa.png"> After: <img width="333" alt="after" src="https://cloud.githubusercontent.com/assets/122457/22853639/06bfe7cc-f011-11e6-9892-f0ea2cc6ec90.png"> This is my first non-trivial patch to Rust, so I'm sure some of my approach is not idiomatic. Let me know how you'd like me to adjust!
2017-02-12Rollup merge of #39697 - notriddle:rustdoc_tooltip, r=GuillaumeGomezGuillaume Gomez-1/+2
Add the item type to the tooltip See: https://users.rust-lang.org/t/seeking-opinions-from-colorblind-rustaceans-coloring-in-rustdoc-code-blocks
2017-02-12Rollup merge of #39654 - ollie27:rustdoc_attributes, r=GuillaumeGomezGuillaume Gomez-5/+15
rustdoc: Show attributes on all item types Currently attributes are only shown for structs, unions and enums but they should be shown for all items. For example it is useful to know if a function is `#[no_mangle]`.
2017-02-11Remove extra closing span element.Jimmy Cuadra-1/+0
2017-02-11rustdoc: Only include a stability span if needed.Jimmy Cuadra-5/+12
2017-02-09Add the item type to the tooltipMichael Howell-1/+2
See: https://users.rust-lang.org/t/seeking-opinions-from-colorblind-rustaceans-coloring-in-rustdoc-code-blocks
2017-02-08rustdoc: Show attributes on all item typesOliver Middleton-5/+15
Currently attributes are only shown for structs, unions and enums but they should be shown for all items. For example it is useful to know if a function is `#[no_mangle]`.
2017-02-06rustdoc: Improve impl disambiguationOliver Middleton-9/+23
* Don't disambiguate if there are multiple impls for the same type. * Disambiguate for impls of &Foo and &mut Foo. * Don't try to disambiguate generic types.
2017-01-31rustdoc: mark ffi functions with unsafety iconTrevor Spiteri-5/+6
2017-01-15Fix missing blank space issueGuillaume Gomez-2/+4
2017-01-09Improved rustdoc rendering for unstable featuresManish Goregaokar-11/+18
2017-01-09Auto merge of #38244 - estebank:escape-reason-docs, r=ollie27bors-4/+4
rustdoc: escape the deprecated and unstable reason text Fix #38220. Instead of the [current output](https://doc.rust-lang.org/std/boxed/trait.FnBox.html): <img width="967" alt="incorrect unescaped unstable reason in docs" src="https://cloud.githubusercontent.com/assets/1606434/21021898/73121d42-bd2f-11e6-8076-8a5127dbc010.png"> display: <img width="979" alt="escaped unstable reason in docs" src="https://cloud.githubusercontent.com/assets/1606434/21021876/52eb0f88-bd2f-11e6-9088-58bdc7d92328.png">
2017-01-04Auto merge of #38414 - estebank:doc-dissambiguate, r=steveklabnikbors-2/+18
Rustdoc: disambiguate Implementors when the type name is not unique Presentation [goes from](https://doc.rust-lang.org/stable/std/iter/trait.ExactSizeIterator.html#implementors): <img width="492" alt="" src="https://cloud.githubusercontent.com/assets/1606434/21276752/b2b50474-c387-11e6-96e1-9766851da269.png"> to: <img width="787" alt="" src="https://cloud.githubusercontent.com/assets/1606434/21276763/bb37f6b0-c387-11e6-8596-9163cb254674.png"> on cases where there're multiple implementors with the same name. Fixes #37762.
2016-12-29rustdoc: Fix broken CSS for trait itemsOliver Middleton-2/+1
2016-12-27Merge branch 'master' into escape-reason-docsEsteban Küber-8/+20
2016-12-27Auto merge of #38329 - ollie27:rustdoc_stab_em_div, r=steveklabnikbors-5/+10
rustdoc: Fix invalid HTML in stability notices `em` tags cannot contain `p` tags so use `div`s instead of `em`s as the Markdown will create `p` tags.
2016-12-22use same param name across methodsEsteban Küber-2/+2
2016-12-22Auto merge of #38330 - ollie27:rustdoc_short_summaries, r=steveklabnikbors-3/+3
rustdoc: Fix short summaries in search results They should be run through a Markdown renderer in rustdoc to remove links. This also fixes the mouse over text for the Crates list on the sidebar. [before](https://doc.rust-lang.org/nightly/std/index.html?search=ord) [after](https://ollie27.github.io/rust_doc_test/std/index.html?search=ord)
2016-12-21use &str instead of Stringbluss-6/+5
2016-12-19remove O(n^2) to O(n) behaviorEsteban Küber-14/+17
2016-12-15Rustdoc: disambiguate Implementors when the type name is not uniqueEsteban Küber-2/+16
2016-12-14Add `MarkdownHmtl` escape structEsteban Küber-7/+7
`MarkdownHtml` structs escape HTML tags from its text.
2016-12-13rustdoc: Fix invalid HTML in stability noticesOliver Middleton-5/+10
`em` tags cannot contain `p` tags so just use a `div` instead.
2016-12-12rustdoc: escape the deprecated and unstable reason textEsteban Küber-3/+3
2016-12-12rustdoc: Fix short summaries in search resultsOliver Middleton-3/+3
They should be run through a Markdown renderer in rustdoc to remove links. This also fixes the mouse over text for the Crates list on the sidebar.
2016-12-09rustdoc: Remove broken src links from reexported items from macrosOliver Middleton-0/+7
When an item is defined in an external macro it doesn't get a real filename so we need to filter out these when generating src links for reexported items.
2016-12-07Auto merge of #38105 - ollie27:rustdoc_deterministic_js, r=GuillaumeGomezbors-24/+26
rustdoc: Sort lines in search index and implementors js This means the files are generated deterministically even with rustdoc running in parallel. Fixes the first part of #30220.
2016-12-01rustdoc: Sort lines in search index and implementors jsOliver Middleton-24/+26
This means the files are generated deterministically even with rustdoc running in parallel.
2016-12-01Auto merge of #37911 - liigo:rustdoc-playground, r=alexcrichtonbors-0/+8
rustdoc: get back missing crate-name when --playground-url is used follow up PR #37763 r? @alexcrichton (since you r+ed to #37763 ) ---- Edit: When `#![doc(html_playground_url="")]` is used, the current crate name is saved to `PLAYGROUND`, so rustdoc may generate `extern crate NAME;` into code snips automatically. But when `--playground-url` was introduced in PR #37763, I forgot saving crate name to `PLAYGROUND`. This PR fix that. ---- Update: - add test - unstable `--playground-url`
2016-11-30rustdoc: link to cross-crate sources directly.Eduard-Mihai Burtescu-96/+70
2016-11-30rustdoc: fix up --playground-urlLiigo Zhuang-5/+5
2016-11-30rustdoc: get back missing crate-name when --playground-url is usedLiigo Zhuang-0/+8
follow up PR #37763
2016-11-24rustdoc: use libsyntax ast::Attribute instead of "cleaning" them.Eduard-Mihai Burtescu-53/+50
2016-11-20Rollup merge of #37881 - ollie27:rustdoc_stab_enum_macro, r=alexcrichtonGuillaume Gomez-2/+0
rustdoc: Remove unnecessary stability versions For some reason only on enum and macro pages, the stability version is rendered after the summary unlike all other pages. As it is already displayed at the top of the page for all items, this removes it for consistency and to prevent it from overlapping the summary text. Fixes #36093
2016-11-19rustdoc: Remove unnecessary stability versionsOliver Middleton-2/+0
For some reason only on enum and macro pages, the stability version is rendered after the summary unlike all other pages. As it is already displayed at the top of the page for all items, this removes it for consistency and to prevent it from overlapping the summary text.
2016-11-18Auto merge of #37763 - liigo:rustdoc-playground, r=alexcrichtonbors-4/+2
rustdoc: add cli argument `--playground-url` Add a new cli argument `--playground-url` for rustdoc: `rustdoc lib.rs --playground-url="https://play.rust-lang.org/"` `rustdoc book.md --playground-url="https://play.rust-lang.org/"` This makes it possible for tools like https://docs.rs to generate crate docs that can submit samples code to run at https://play.rust-lang.org, even if the crate's author *forgot* putting `#![doc(html_playground_url = "https://play.rust-lang.org/")]` to crate root. By the way, I'd like to say, many crate authors are not aware of existing of `#![doc(html_playground_url = "https://play.rust-lang.org/")]`. `--playground-url` may be reset by `--markdown-playground-url` or `#![doc(html_playground_url=...)]`, so it's backward compatible. @alexcrichton since you implemented playground-url related features.
2016-11-17doc: nits and typos on commentsTshepang Lekhonkhobe-17/+17
2016-11-16Auto merge of #37773 - ollie27:rustdoc_inline_glob, r=brsonbors-35/+17
rustdoc: Fix some local inlining issues * Only inline public items when inlining glob imports. * Never inline while in a private module or a child of a private module. * Never inline impls. This allowed the removal of a workaround in the rendering code.
2016-11-14rustdoc: Fix some local inlining issuesOliver Middleton-35/+17
* Only inline public items when inlining glob imports. * Never inline while in a private module or a child of a private module. * Never inline impls. This allowed the removal of a workaround in the rendering code.
2016-11-14rustdoc: add cli argument `--playground-url`Liigo-4/+2
2016-11-13do not use deprecated text for unstable docsAndy Russell-4/+9
2016-11-12Auto merge of #37728 - QuietMisdreavus:rustdoc-enum-struct, r=GuillaumeGomezbors-3/+8
rustdoc: fold fields for enum struct variants into a docblock Per discussion in #37500, this PR updates the enum rendering code to wrap variants with named struct fields in a `docblock` span that is hidden automatically upon load of the page. This gives struct variant fields a clean separation from other enum variants, giving a boost to the readability of such documentation. Preview output is available [on the issue page](https://github.com/rust-lang/rust/issues/37500#issuecomment-260069269), but for the sake of completeness I'll include the images here again. ![rustdoc struct enum variant 4 part 1](https://cloud.githubusercontent.com/assets/5217170/20231925/96160b7e-a82a-11e6-945b-bbba95c5e4bc.PNG) When you initially load the page, there's a line under variants with struct fields letting you know you can click to expand the listing. ![rustdoc struct enum variant 4 part 2](https://cloud.githubusercontent.com/assets/3050060/20232067/1dc63266-a866-11e6-9555-8fb1c8afdcec.png) If you click to expand, the header and table unfold into a nicely-indented listing. If you want to take a look in your own browser and screen size, [I've got this version hosted on my server](https://shiva.icesoldier.me/doctest/doctest/enum.OldTopicRemoval.html). Fixes #37500 r? @GuillaumeGomez
2016-11-12rustdoc: fold fields for enum struct variants into a docblockQuietMisdreavus-3/+8
2016-11-12Rollup merge of #37190 - QuietMisdreavus:rustdoc-where-newline, r=GuillaumeGomezEduard-Mihai Burtescu-27/+66
rustdoc: add line breaks to where clauses a la rustfmt Much like my last PR for rustdoc (#36679), this adds line breaks to certain statements based on their line length. Here the focus was on where clauses. Some examples: - [Where clause in a trait function](https://shiva.icesoldier.me/custom-std/std/iter/trait.Iterator.html?search=#method.unzip) (also in the trait header block at the top of the page) - [Where clause on a bare function](https://shiva.icesoldier.me/doc-custom2/petgraph/visit/fn.depth_first_search.html) - [Where clauses in trait impls on a struct](https://shiva.icesoldier.me/custom-std/std/collections/struct.HashMap.html) (scroll to the bottom) These are regularly not on their own line, but will be given their own line now if their "prefix text" doesn't give them enough room to sensibly print their constraints. HashMap's trait impls provide some examples of both behaviors. The libstd links above are the whole docs rendered with this, and the "bare function" link above is in another set that pulls some notable crates together. `petgraph` was the one that brought this request up, and that collection also includes [itertools](https://shiva.icesoldier.me/doc-custom2/itertools/trait.Itertools.html) which provided an easy sample to test with. r? @GuillaumeGomez