]> git.lizzy.rs Git - rust.git/blob - src/librustdoc/html/static_files.rs
Auto merge of #93719 - scottmcm:core-as-2021-everywhere, r=Mark-Simulacrum
[rust.git] / src / librustdoc / html / static_files.rs
1 //! Static files bundled with documentation output.
2 //!
3 //! All the static files are included here for centralized access in case anything other than the
4 //! HTML rendering code (say, the theme checker) needs to access one of these files.
5 //!
6 //! Note about types: CSS and JavaScript files are included as `&'static str` to allow for the
7 //! minifier to run on them. All other files are included as `&'static [u8]` so they can be
8 //! directly written to a `Write` handle.
9
10 /// The file contents of the main `rustdoc.css` file, responsible for the core layout of the page.
11 crate static RUSTDOC_CSS: &str = include_str!("static/css/rustdoc.css");
12
13 /// The file contents of `settings.css`, responsible for the items on the settings page.
14 crate static SETTINGS_CSS: &str = include_str!("static/css/settings.css");
15
16 /// The file contents of the `noscript.css` file, used in case JS isn't supported or is disabled.
17 crate static NOSCRIPT_CSS: &str = include_str!("static/css/noscript.css");
18
19 /// The file contents of `normalize.css`, included to even out standard elements between browser
20 /// implementations.
21 crate static NORMALIZE_CSS: &str = include_str!("static/css/normalize.css");
22
23 /// The file contents of `main.js`, which contains the core JavaScript used on documentation pages,
24 /// including search behavior and docblock folding, among others.
25 crate static MAIN_JS: &str = include_str!("static/js/main.js");
26
27 /// The file contents of `search.js`, which contains the search behavior.
28 crate static SEARCH_JS: &str = include_str!("static/js/search.js");
29
30 /// The file contents of `settings.js`, which contains the JavaScript used to handle the settings
31 /// page.
32 crate static SETTINGS_JS: &str = include_str!("static/js/settings.js");
33
34 /// The file contents of `storage.js`, which contains functionality related to browser Local
35 /// Storage, used to store documentation settings.
36 crate static STORAGE_JS: &str = include_str!("static/js/storage.js");
37
38 /// The file contents of `scraped-examples.js`, which contains functionality related to the
39 /// --scrape-examples flag that inserts automatically-found examples of usages of items.
40 crate static SCRAPE_EXAMPLES_JS: &str = include_str!("static/js/scrape-examples.js");
41
42 /// The file contents of `brush.svg`, the icon used for the theme-switch button.
43 crate static BRUSH_SVG: &[u8] = include_bytes!("static/images/brush.svg");
44
45 /// The file contents of `wheel.svg`, the icon used for the settings button.
46 crate static WHEEL_SVG: &[u8] = include_bytes!("static/images/wheel.svg");
47
48 /// The file contents of `clipboard.svg`, the icon used for the "copy path" button.
49 crate static CLIPBOARD_SVG: &[u8] = include_bytes!("static/images/clipboard.svg");
50
51 /// The file contents of `down-arrow.svg`, the icon used for the crate choice combobox.
52 crate static DOWN_ARROW_SVG: &[u8] = include_bytes!("static/images/down-arrow.svg");
53
54 /// The file contents of `toggle-minus.svg`, the icon used for opened toggles.
55 crate static TOGGLE_MINUS_PNG: &[u8] = include_bytes!("static/images/toggle-minus.svg");
56
57 /// The file contents of `toggle-plus.svg`, the icon used for closed toggles.
58 crate static TOGGLE_PLUS_PNG: &[u8] = include_bytes!("static/images/toggle-plus.svg");
59
60 /// The contents of `COPYRIGHT.txt`, the license listing for files distributed with documentation
61 /// output.
62 crate static COPYRIGHT: &[u8] = include_bytes!("static/COPYRIGHT.txt");
63
64 /// The contents of `LICENSE-APACHE.txt`, the text of the Apache License, version 2.0.
65 crate static LICENSE_APACHE: &[u8] = include_bytes!("static/LICENSE-APACHE.txt");
66
67 /// The contents of `LICENSE-MIT.txt`, the text of the MIT License.
68 crate static LICENSE_MIT: &[u8] = include_bytes!("static/LICENSE-MIT.txt");
69
70 /// The contents of `rust-logo.svg`, the default icon of the documentation.
71 crate static RUST_LOGO_SVG: &[u8] = include_bytes!("static/images/rust-logo.svg");
72
73 /// The default documentation favicons (SVG and PNG fallbacks)
74 crate static RUST_FAVICON_SVG: &[u8] = include_bytes!("static/images/favicon.svg");
75 crate static RUST_FAVICON_PNG_16: &[u8] = include_bytes!("static/images/favicon-16x16.png");
76 crate static RUST_FAVICON_PNG_32: &[u8] = include_bytes!("static/images/favicon-32x32.png");
77
78 /// The built-in themes given to every documentation site.
79 crate mod themes {
80     /// The "light" theme, selected by default when no setting is available. Used as the basis for
81     /// the `--check-theme` functionality.
82     crate static LIGHT: &str = include_str!("static/css/themes/light.css");
83
84     /// The "dark" theme.
85     crate static DARK: &str = include_str!("static/css/themes/dark.css");
86
87     /// The "ayu" theme.
88     crate static AYU: &str = include_str!("static/css/themes/ayu.css");
89 }
90
91 /// Files related to the Fira Sans font.
92 crate mod fira_sans {
93     /// The file `FiraSans-Regular.woff`, the Regular variant of the Fira Sans font.
94     crate static REGULAR: &[u8] = include_bytes!("static/fonts/FiraSans-Regular.woff");
95
96     /// The file `FiraSans-Regular.woff2`, the Regular variant of the Fira Sans font in woff2.
97     crate static REGULAR2: &[u8] = include_bytes!("static/fonts/FiraSans-Regular.woff2");
98
99     /// The file `FiraSans-Medium.woff`, the Medium variant of the Fira Sans font.
100     crate static MEDIUM: &[u8] = include_bytes!("static/fonts/FiraSans-Medium.woff");
101
102     /// The file `FiraSans-Medium.woff2`, the Medium variant of the Fira Sans font in woff2.
103     crate static MEDIUM2: &[u8] = include_bytes!("static/fonts/FiraSans-Medium.woff2");
104
105     /// The file `FiraSans-LICENSE.txt`, the license text for the Fira Sans font.
106     crate static LICENSE: &[u8] = include_bytes!("static/fonts/FiraSans-LICENSE.txt");
107 }
108
109 /// Files related to the Source Serif 4 font.
110 crate mod source_serif_4 {
111     /// The file `SourceSerif4-Regular.ttf.woff`, the Regular variant of the Source Serif 4 font.
112     crate static REGULAR: &[u8] = include_bytes!("static/fonts/SourceSerif4-Regular.ttf.woff");
113
114     /// The file `SourceSerif4-Regular.ttf.woff2`, the Regular variant of the Source Serif 4 font in
115     /// woff2.
116     crate static REGULAR2: &[u8] = include_bytes!("static/fonts/SourceSerif4-Regular.ttf.woff2");
117
118     /// The file `SourceSerif4-Bold.ttf.woff`, the Bold variant of the Source Serif 4 font.
119     crate static BOLD: &[u8] = include_bytes!("static/fonts/SourceSerif4-Bold.ttf.woff");
120
121     /// The file `SourceSerif4-Bold.ttf.woff2`, the Bold variant of the Source Serif 4 font in
122     /// woff2.
123     crate static BOLD2: &[u8] = include_bytes!("static/fonts/SourceSerif4-Bold.ttf.woff2");
124
125     /// The file `SourceSerif4-It.ttf.woff`, the Italic variant of the Source Serif 4 font.
126     crate static ITALIC: &[u8] = include_bytes!("static/fonts/SourceSerif4-It.ttf.woff");
127
128     /// The file `SourceSerif4-It.ttf.woff2`, the Italic variant of the Source Serif 4 font in
129     /// woff2.
130     crate static ITALIC2: &[u8] = include_bytes!("static/fonts/SourceSerif4-It.ttf.woff2");
131
132     /// The file `SourceSerif4-LICENSE.txt`, the license text for the Source Serif 4 font.
133     crate static LICENSE: &[u8] = include_bytes!("static/fonts/SourceSerif4-LICENSE.md");
134 }
135
136 /// Files related to the Source Code Pro font.
137 crate mod source_code_pro {
138     /// The file `SourceCodePro-Regular.ttf.woff`, the Regular variant of the Source Code Pro font.
139     crate static REGULAR: &[u8] = include_bytes!("static/fonts/SourceCodePro-Regular.ttf.woff");
140
141     /// The file `SourceCodePro-Regular.ttf.woff2`, the Regular variant of the Source Code Pro font
142     /// in woff2.
143     crate static REGULAR2: &[u8] = include_bytes!("static/fonts/SourceCodePro-Regular.ttf.woff2");
144
145     /// The file `SourceCodePro-Semibold.ttf.woff`, the Semibold variant of the Source Code Pro
146     /// font.
147     crate static SEMIBOLD: &[u8] = include_bytes!("static/fonts/SourceCodePro-Semibold.ttf.woff");
148
149     /// The file `SourceCodePro-Semibold.ttf.woff2`, the Semibold variant of the Source Code Pro
150     /// font in woff2.
151     crate static SEMIBOLD2: &[u8] = include_bytes!("static/fonts/SourceCodePro-Semibold.ttf.woff2");
152
153     /// The file `SourceCodePro-It.ttf.woff`, the Italic variant of the Source Code Pro font.
154     crate static ITALIC: &[u8] = include_bytes!("static/fonts/SourceCodePro-It.ttf.woff");
155
156     /// The file `SourceCodePro-It.ttf.woff2`, the Italic variant of the Source Code Pro font in
157     /// woff2.
158     crate static ITALIC2: &[u8] = include_bytes!("static/fonts/SourceCodePro-It.ttf.woff2");
159
160     /// The file `SourceCodePro-LICENSE.txt`, the license text of the Source Code Pro font.
161     crate static LICENSE: &[u8] = include_bytes!("static/fonts/SourceCodePro-LICENSE.txt");
162 }
163
164 /// Files related to the Nanum Barun Gothic font.
165 ///
166 /// These files are used to avoid some legacy CJK serif fonts in Windows.
167 ///
168 /// Note that the Noto Sans KR font, which was used previously but was not very readable on Windows,
169 /// has been replaced by the Nanum Barun Gothic font. This is due to Windows' implementation of font
170 /// rendering that distorts OpenType fonts too much.
171 ///
172 /// The font files were generated with these commands:
173 ///
174 /// ```sh
175 /// pyftsubset NanumBarunGothic.ttf \
176 /// --unicodes=U+AC00-D7AF,U+1100-11FF,U+3130-318F,U+A960-A97F,U+D7B0-D7FF \
177 /// --output-file=NanumBarunGothic.ttf.woff --flavor=woff
178 /// ```
179 /// ```sh
180 /// pyftsubset NanumBarunGothic.ttf \
181 /// --unicodes=U+AC00-D7AF,U+1100-11FF,U+3130-318F,U+A960-A97F,U+D7B0-D7FF \
182 /// --output-file=NanumBarunGothic.ttf.woff2 --flavor=woff2
183 /// ```
184 crate mod nanum_barun_gothic {
185     /// The file `NanumBarunGothic.ttf.woff`, the Regular variant of the Nanum Barun Gothic font.
186     crate static REGULAR: &[u8] = include_bytes!("static/fonts/NanumBarunGothic.ttf.woff");
187
188     /// The file `NanumBarunGothic.ttf.woff2`, the Regular variant of the Nanum Barun Gothic font.
189     crate static REGULAR2: &[u8] = include_bytes!("static/fonts/NanumBarunGothic.ttf.woff2");
190
191     /// The file `NanumBarunGothic-LICENSE.txt`, the license text of the Nanum Barun Gothic font.
192     crate static LICENSE: &[u8] = include_bytes!("static/fonts/NanumBarunGothic-LICENSE.txt");
193 }
194
195 /// Files related to the sidebar in rustdoc sources.
196 crate mod sidebar {
197     /// File script to handle sidebar.
198     crate static SOURCE_SCRIPT: &str = include_str!("static/js/source-script.js");
199 }