| Age | Commit message (Collapse) | Author | Lines |
|
This allows you to open the help section in a new browser tab, which is a
pretty reasonable thing to want for a documentation page.
|
|
|
|
MDN directly recommends this in <https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link>,
since "CSS is the only stylesheet language used on the web."
|
|
|
|
|
|
|
|
Now that the "All Crates" dropdown is only rendered on the search results page,
there is no need to load crates.js on most pages. Load it only on crate pages.
Also, add the `defer` attribute so it does not block page rendering.
For sidebar-items.js, move the script tag to `<head>`. Since it already has the
defer attribute it won't block loading. The defer attribute does preserve
ordering between scripts, so instead of the callback on load, it can set a
global variable on load, which is slightly simpler. Also, since it is required
to finish rendering the page, beginning its load earlier is better.
Remove generation and handling of sidebar-vars. Everything there can be computed
with information available in JS via other means.
Remove the "other" wrapper in the sidebar. It was unnecessary.
Remove excess script fields
|
|
|
|
|
|
|
|
According to https://html.spec.whatwg.org/multipage/links.html#rel-icon:
> For historical reasons, the `icon` keyword may be preceded by
> the keyword "`shortcut`".
And to https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types:
> **Warning:** The `shortcut` link type is often seen before `icon`,
> but this link type is non-conforming, ignored and **web authors
> must not use it anymore.**
While it was removed from the Rust logo case a while ago in commit
085679c8414 ("Use theme-adaptive SVG favicon from other Rust sites"),
it is still there for the custom logo case.
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
|
|
|
|
|
|
|
|
See #84419.
|
|
This reduces clutter on doc pages.
|
|
Also replace ' with " in rustdoc template
|
|
|
|
Improve rustdoc layout
This is an overtake of https://github.com/rust-lang/rust/pull/89385 originally written by `@cynecx.`
I kept the original commit and simply added the missing fixes into a new one. You can test it online [here](https://rustdoc.crud.net/imperio/improve-rustdoc-layout/std/index.html).
r? `@jsha`
|
|
rustdoc: preload fonts
Follow-up from #82315.
I noticed that font loading was so slow that even when loading from local disk, we get a flash of unstyled text (FOUT) followed by a reflow when the fonts load. With this change, we reliably get the appropriate fonts in the first render pass when loading locally, and we get it some of the time when loading from a website.
This only preloads woff2 versions. According to https://caniuse.com/?search=preload and https://caniuse.com/?search=woff2, all browsers that support preload also support woff2, so this is fine; we will never load two copies of a font.
Don't preload italic font faces because they aren't used on all pages.
Demo: https://rustdoc.crud.net/jsha/preload-fonts/std/string/struct.String.html
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
We had been injecting the list of themes and the rustdoc version into
main.js by rewriting it at doc generation time. By avoiding this
rewrite, we can make it easier to edit main.js without regenerating all
the docs.
Added a more convenient accessor for rustdoc-vars.
Changed storage.js to not rely on resourcesSuffix. It could in theory
use rustdoc-vars, but because rustdoc-vars is at the end of the HTML,
it's not available when storage.js runs (very early in page load).
|
|
We carry around a list of stylesheets that can carry two different types
of thing:
1. Internal stylesheets specific to a page type (only for settings)
2. Themes
In this change I move the link generation for settings.css into
settings(), so Context.style_files is reserved just for themes.
We had two places where we extracted a base theme name from a list of
StylePaths. I consolidated that code to be a method on StylePath.
I moved generation of link tags for stylesheets into the page.html
template. With that change, I made the template responsible for special
handling of light.css (making it the default theme) and of the other
themes (marking them disabled). That allowed getting rid of the
`disabled` field on StylePath.
|
|
Don't preload italic font faces because they aren't used on all pages,
and when they are used, they are used sparingly so it's okay if they are
slower to load.
|
|
attribute
|
|
|
|
Also, remove the highlighting of the search bar in disabled state. This
reduces flicker when loading a page.
|
|
|
|
|
|
|
|
Replaces a format!() call in layout::render with a template
expansion. Introduces a `templates` field in SharedContext so parts
of rustdoc can share pre-rendered templates.
This currently builds in a copy of the single template available, like
with static files. However, future work can make this live-loadable with
a perma-unstable flag, to make rustdoc developers' work easier.
|