@abreen/tada 1.16.0 → 1.16.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -0
- package/assets/material-symbols/celebration_24px.svg +1 -1
- package/assets/material-symbols/close_24px.svg +1 -1
- package/assets/material-symbols/contrast_20px.svg +1 -0
- package/assets/material-symbols/contrast_rtl_off_20px.svg +1 -0
- package/assets/material-symbols/info_20px.svg +1 -0
- package/assets/material-symbols/info_40px.svg +1 -0
- package/assets/material-symbols/menu_24px.svg +1 -1
- package/assets/material-symbols/open_in_new_20px.svg +1 -0
- package/assets/material-symbols/search_20px.svg +1 -0
- package/assets/material-symbols/smart_display_24px.svg +1 -0
- package/assets/material-symbols/south_east_20px.svg +1 -0
- package/assets/material-symbols/warning_20px.svg +1 -0
- package/assets/material-symbols/warning_40px.svg +1 -0
- package/bin/validators.ts +2 -0
- package/build/bundle.ts +23 -4
- package/build/custom-fonts.ts +300 -0
- package/build/generate-fonts.ts +43 -0
- package/build/material-symbols.ts +58 -20
- package/build/pipeline.ts +1 -1
- package/build/site-variables.ts +2 -0
- package/build/types.d.ts +29 -0
- package/build/utils/render.ts +36 -12
- package/build/watch/assets.ts +3 -3
- package/build/watch/build-full.ts +1 -1
- package/build/watch/build-incremental.ts +1 -1
- package/build/watch/validation.ts +18 -7
- package/package.json +1 -1
- package/schema/site.schema.json +77 -0
- package/src/_alerts.scss +17 -12
- package/src/_layout.scss +2 -2
- package/src/anchor/index.ts +2 -35
- package/src/anchor/style.scss +4 -28
- package/src/appearance-picker/index.ts +78 -19
- package/src/appearance-picker/style.scss +9 -11
- package/src/header/_base.scss +14 -6
- package/src/header/style.scss +8 -0
- package/src/material-symbols.scss +16 -3
- package/src/navigate/runtime.ts +13 -0
- package/src/question/style.scss +1 -2
- package/src/search/style.scss +5 -3
- package/src/style.scss +11 -5
- package/src/toc/style.scss +14 -10
- package/templates/_appearance-picker.html +4 -4
- package/templates/_theme.scss +14 -4
- package/templates/_top.html +42 -6
- package/templates/code.html +1 -1
- package/assets/material-symbols/contrast_24px.svg +0 -1
- package/assets/material-symbols/contrast_rtl_off_24px.svg +0 -1
- package/assets/material-symbols/info_24px.svg +0 -1
- package/assets/material-symbols/north_east_24px.svg +0 -1
- package/assets/material-symbols/search_24px.svg +0 -1
- package/assets/material-symbols/south_east_24px.svg +0 -1
- package/assets/material-symbols/tag_24px.svg +0 -1
- package/assets/material-symbols/warning_24px.svg +0 -1
|
@@ -75,8 +75,10 @@
|
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
.font-picker-option-sans {
|
|
78
|
-
font-family:
|
|
79
|
-
|
|
78
|
+
font-family:
|
|
79
|
+
-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial,
|
|
80
|
+
sans-serif;
|
|
81
|
+
font-feature-settings: normal;
|
|
80
82
|
}
|
|
81
83
|
|
|
82
84
|
.font-picker-option-serif {
|
|
@@ -86,17 +88,13 @@
|
|
|
86
88
|
font-feature-settings: var(--serif-font-feature-settings);
|
|
87
89
|
}
|
|
88
90
|
|
|
89
|
-
.
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
.material-symbol-icon-contrast-standard {
|
|
95
|
-
--material-symbol-icon: var(--icon-contrast-standard);
|
|
91
|
+
:root:not([data-font-preference='serif']) .font-picker-option-sans {
|
|
92
|
+
font-family: var(--sans-font);
|
|
93
|
+
font-feature-settings: var(--sans-font-feature-settings);
|
|
96
94
|
}
|
|
97
95
|
|
|
98
|
-
.
|
|
99
|
-
|
|
96
|
+
:root[data-font-preference='serif'] .font-picker-option-serif {
|
|
97
|
+
font-family: var(--serif-font);
|
|
100
98
|
}
|
|
101
99
|
|
|
102
100
|
.preference-picker-option[aria-pressed='true'] {
|
package/src/header/_base.scss
CHANGED
|
@@ -16,6 +16,10 @@ header {
|
|
|
16
16
|
view-transition-name: site-header;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
+
:root[data-contrast-preference='high'] header {
|
|
20
|
+
background: var(--bg-color);
|
|
21
|
+
}
|
|
22
|
+
|
|
19
23
|
header details summary {
|
|
20
24
|
position: relative;
|
|
21
25
|
display: flex;
|
|
@@ -56,10 +60,10 @@ header details summary::marker {
|
|
|
56
60
|
}
|
|
57
61
|
|
|
58
62
|
header summary::after {
|
|
59
|
-
flex: 0 0
|
|
63
|
+
flex: 0 0 var(--icon-header-menu-size);
|
|
60
64
|
order: -1;
|
|
61
|
-
width:
|
|
62
|
-
height:
|
|
65
|
+
width: var(--icon-header-menu-size);
|
|
66
|
+
height: var(--icon-header-menu-size);
|
|
63
67
|
margin-right: 8px;
|
|
64
68
|
margin-left: var(--gap);
|
|
65
69
|
content: '';
|
|
@@ -93,7 +97,10 @@ header summary .site-title {
|
|
|
93
97
|
margin: 0 8px 0 0;
|
|
94
98
|
overflow: hidden;
|
|
95
99
|
text-overflow: ellipsis;
|
|
96
|
-
|
|
100
|
+
|
|
101
|
+
// Values above 500 resolve to the supplied bold face when a custom family
|
|
102
|
+
// provides only fixed 400 and 700 weights.
|
|
103
|
+
font-weight: 600;
|
|
97
104
|
white-space: nowrap;
|
|
98
105
|
pointer-events: none;
|
|
99
106
|
}
|
|
@@ -150,8 +157,8 @@ header .search-controls {
|
|
|
150
157
|
top: 50%;
|
|
151
158
|
left: 7px;
|
|
152
159
|
z-index: 1;
|
|
153
|
-
width:
|
|
154
|
-
height:
|
|
160
|
+
width: var(--icon-search-size);
|
|
161
|
+
height: var(--icon-search-size);
|
|
155
162
|
pointer-events: none;
|
|
156
163
|
content: '';
|
|
157
164
|
transform: translateY(-50%);
|
|
@@ -165,6 +172,7 @@ header .search-controls {
|
|
|
165
172
|
|
|
166
173
|
input.search {
|
|
167
174
|
width: 180px;
|
|
175
|
+
padding-left: calc(2rem - 1px);
|
|
168
176
|
}
|
|
169
177
|
}
|
|
170
178
|
|
package/src/header/style.scss
CHANGED
|
@@ -50,10 +50,18 @@ header nav div > p {
|
|
|
50
50
|
@include user-select(none);
|
|
51
51
|
}
|
|
52
52
|
|
|
53
|
+
:root[data-contrast-preference='high'] header:has(details[open]) {
|
|
54
|
+
background: var(--bg2-color);
|
|
55
|
+
}
|
|
56
|
+
|
|
53
57
|
@media (hover: hover) {
|
|
54
58
|
header:has(details[open]):hover {
|
|
55
59
|
background: var(--bg-color-translucent);
|
|
56
60
|
}
|
|
61
|
+
|
|
62
|
+
:root[data-contrast-preference='high'] header:hover {
|
|
63
|
+
background: var(--bg2-color);
|
|
64
|
+
}
|
|
57
65
|
}
|
|
58
66
|
|
|
59
67
|
header .results-container {
|
|
@@ -1,11 +1,24 @@
|
|
|
1
1
|
@use 'mixins' as *;
|
|
2
2
|
|
|
3
3
|
.material-symbol-icon {
|
|
4
|
+
display: block;
|
|
5
|
+
width: var(--material-symbol-icon-size);
|
|
6
|
+
height: var(--material-symbol-icon-size);
|
|
7
|
+
|
|
4
8
|
@include contained-mask(var(--material-symbol-icon));
|
|
9
|
+
}
|
|
5
10
|
|
|
6
|
-
|
|
11
|
+
.material-symbol-icon-heading-present {
|
|
12
|
+
--material-symbol-icon: var(--icon-heading-present);
|
|
13
|
+
--material-symbol-icon-size: var(--icon-heading-present-size);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.material-symbol-icon-contrast-standard {
|
|
17
|
+
--material-symbol-icon: var(--icon-contrast-standard);
|
|
18
|
+
--material-symbol-icon-size: var(--icon-contrast-standard-size);
|
|
7
19
|
}
|
|
8
20
|
|
|
9
|
-
.material-symbol-icon-
|
|
10
|
-
--material-symbol-icon: var(--icon-
|
|
21
|
+
.material-symbol-icon-contrast-high {
|
|
22
|
+
--material-symbol-icon: var(--icon-contrast-high);
|
|
23
|
+
--material-symbol-icon-size: var(--icon-contrast-high-size);
|
|
11
24
|
}
|
package/src/navigate/runtime.ts
CHANGED
|
@@ -138,6 +138,18 @@ function isActiveNavigation(controller: AbortController): boolean {
|
|
|
138
138
|
return currentAbortController === controller && !controller.signal.aborted;
|
|
139
139
|
}
|
|
140
140
|
|
|
141
|
+
function prefersReducedMotion(window: Window): boolean {
|
|
142
|
+
if (typeof window.matchMedia !== 'function') {
|
|
143
|
+
return false;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
try {
|
|
147
|
+
return window.matchMedia('(prefers-reduced-motion: reduce)').matches;
|
|
148
|
+
} catch {
|
|
149
|
+
return false;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
|
|
141
153
|
export function initNavigation(window: Window): void {
|
|
142
154
|
currentAbortController = null;
|
|
143
155
|
historyIndex = 0;
|
|
@@ -305,6 +317,7 @@ export async function navigateToUrl(
|
|
|
305
317
|
|
|
306
318
|
if (
|
|
307
319
|
useViewTransition &&
|
|
320
|
+
!prefersReducedMotion(window) &&
|
|
308
321
|
typeof transitionDoc.startViewTransition === 'function'
|
|
309
322
|
) {
|
|
310
323
|
const titleEl = document.querySelector('.title-and-info');
|
package/src/question/style.scss
CHANGED
package/src/search/style.scss
CHANGED
|
@@ -127,7 +127,9 @@ header {
|
|
|
127
127
|
}
|
|
128
128
|
|
|
129
129
|
ol a .title {
|
|
130
|
-
|
|
130
|
+
// Values above 500 resolve to the supplied bold face when a custom
|
|
131
|
+
// family provides only fixed 400 and 700 weights.
|
|
132
|
+
font-weight: 600;
|
|
131
133
|
line-height: var(--heading-line-height);
|
|
132
134
|
}
|
|
133
135
|
|
|
@@ -138,10 +140,10 @@ header {
|
|
|
138
140
|
|
|
139
141
|
ol li .excerpt {
|
|
140
142
|
grid-row-start: 3;
|
|
141
|
-
height:
|
|
143
|
+
height: 4.2em;
|
|
142
144
|
overflow: hidden;
|
|
143
145
|
font-size: var(--font-size-small);
|
|
144
|
-
line-height:
|
|
146
|
+
line-height: 1.4;
|
|
145
147
|
color: var(--fg2-color);
|
|
146
148
|
|
|
147
149
|
mark {
|
package/src/style.scss
CHANGED
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
@use 'base';
|
|
4
4
|
@use 'layout';
|
|
5
5
|
@use 'alerts';
|
|
6
|
+
@include theme.custom-font-faces;
|
|
7
|
+
@include theme.custom-font-tuning;
|
|
6
8
|
|
|
7
9
|
@font-face {
|
|
8
10
|
font-family: Inter;
|
|
@@ -93,9 +95,9 @@ a.disabled {
|
|
|
93
95
|
.external-link-tail::after,
|
|
94
96
|
a.external:not(:has(.external-link-tail))::after {
|
|
95
97
|
display: inline-block;
|
|
96
|
-
width:
|
|
97
|
-
height:
|
|
98
|
-
vertical-align:
|
|
98
|
+
width: var(--icon-external-link-size);
|
|
99
|
+
height: var(--icon-external-link-size);
|
|
100
|
+
vertical-align: text-top;
|
|
99
101
|
content: '';
|
|
100
102
|
|
|
101
103
|
@include contained-mask(var(--icon-external-link));
|
|
@@ -272,6 +274,10 @@ ol {
|
|
|
272
274
|
list-style-type: decimal;
|
|
273
275
|
}
|
|
274
276
|
|
|
277
|
+
:root[data-font-preference='serif'] ol > li::marker {
|
|
278
|
+
font-variant-numeric: oldstyle-nums;
|
|
279
|
+
}
|
|
280
|
+
|
|
275
281
|
ol ol {
|
|
276
282
|
list-style-type: lower-alpha;
|
|
277
283
|
}
|
|
@@ -413,8 +419,8 @@ a.breadcrumb {
|
|
|
413
419
|
|
|
414
420
|
&::after {
|
|
415
421
|
display: inline-block;
|
|
416
|
-
width:
|
|
417
|
-
height:
|
|
422
|
+
width: var(--icon-parent-size);
|
|
423
|
+
height: var(--icon-parent-size);
|
|
418
424
|
vertical-align: middle;
|
|
419
425
|
content: '';
|
|
420
426
|
|
package/src/toc/style.scss
CHANGED
|
@@ -131,22 +131,26 @@ body.code .toc ol a {
|
|
|
131
131
|
position: relative;
|
|
132
132
|
}
|
|
133
133
|
|
|
134
|
+
.toc ol li.alert-item.warning {
|
|
135
|
+
--toc-alert-icon: var(--icon-warning-compact);
|
|
136
|
+
--toc-alert-icon-size: var(--icon-warning-compact-size);
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.toc ol li.alert-item.note {
|
|
140
|
+
--toc-alert-icon: var(--icon-info-compact);
|
|
141
|
+
--toc-alert-icon-size: var(--icon-info-compact-size);
|
|
142
|
+
}
|
|
143
|
+
|
|
134
144
|
.toc ol li.alert-item.warning a::before,
|
|
135
145
|
.toc ol li.alert-item.note a::before {
|
|
136
146
|
display: inline-block;
|
|
137
|
-
width:
|
|
138
|
-
height:
|
|
147
|
+
width: var(--toc-alert-icon-size);
|
|
148
|
+
height: var(--toc-alert-icon-size);
|
|
139
149
|
margin-right: 4px;
|
|
140
|
-
vertical-align:
|
|
150
|
+
vertical-align: sub;
|
|
141
151
|
content: '';
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
.toc ol li.alert-item.warning a::before {
|
|
145
|
-
@include contained-mask(var(--icon-warning));
|
|
146
|
-
}
|
|
147
152
|
|
|
148
|
-
|
|
149
|
-
@include contained-mask(var(--icon-info));
|
|
153
|
+
@include contained-mask(var(--toc-alert-icon));
|
|
150
154
|
}
|
|
151
155
|
|
|
152
156
|
.toc ol li.label {
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
<div class="appearance-pickers" data-pagefind-ignore>
|
|
2
2
|
<div class="preference-picker font-picker" role="group" aria-label="Font style">
|
|
3
|
-
<button type="button" class="preference-picker-option font-picker-option-sans" data-font-preference-value="sans" aria-label="Use sans-serif fonts" aria-pressed="
|
|
3
|
+
<button type="button" class="preference-picker-option font-picker-option-sans" data-font-preference-value="sans" aria-label="Use sans-serif fonts" aria-pressed="<%= site.defaultFont === 'sans' %>" disabled>
|
|
4
4
|
<span aria-hidden="true">Aa</span>
|
|
5
5
|
</button>
|
|
6
|
-
<button type="button" class="preference-picker-option font-picker-option-serif" data-font-preference-value="serif" aria-label="Use serif fonts" aria-pressed="
|
|
6
|
+
<button type="button" class="preference-picker-option font-picker-option-serif" data-font-preference-value="serif" aria-label="Use serif fonts" aria-pressed="<%= site.defaultFont === 'serif' %>" disabled>
|
|
7
7
|
<span aria-hidden="true">Aa</span>
|
|
8
8
|
</button>
|
|
9
9
|
</div>
|
|
10
10
|
<div class="preference-picker contrast-picker" role="group" aria-label="Contrast">
|
|
11
|
-
<button type="button" class="preference-picker-option contrast-picker-option-standard" data-contrast-preference-value="standard" aria-label="Use standard contrast" aria-pressed="
|
|
11
|
+
<button type="button" class="preference-picker-option contrast-picker-option-standard" data-contrast-preference-value="standard" aria-label="Use standard contrast" aria-pressed="<%= site.defaultContrast === 'standard' %>" disabled>
|
|
12
12
|
<span class="material-symbol-icon material-symbol-icon-contrast-standard" aria-hidden="true"></span>
|
|
13
13
|
</button>
|
|
14
|
-
<button type="button" class="preference-picker-option contrast-picker-option-high" data-contrast-preference-value="high" aria-label="Use high contrast" aria-pressed="
|
|
14
|
+
<button type="button" class="preference-picker-option contrast-picker-option-high" data-contrast-preference-value="high" aria-label="Use high contrast" aria-pressed="<%= site.defaultContrast === 'high' %>" disabled>
|
|
15
15
|
<span class="material-symbol-icon material-symbol-icon-contrast-high" aria-hidden="true"></span>
|
|
16
16
|
</button>
|
|
17
17
|
</div>
|
package/templates/_theme.scss
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
@mixin custom-font-faces {
|
|
2
|
+
/* Site-configured font faces are inserted below. */
|
|
3
|
+
/* TADA_CUSTOM_FONT_FACES */
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
@mixin custom-font-tuning {
|
|
7
|
+
/* Site-configured font tuning is inserted below. */
|
|
8
|
+
/* TADA_CUSTOM_FONT_TUNING */
|
|
9
|
+
}
|
|
10
|
+
|
|
1
11
|
:root {
|
|
2
12
|
--theme-color: <%= themeColorLight %>;
|
|
3
13
|
--theme-color-text: <%= themeColorTextLight %>;
|
|
@@ -41,14 +51,14 @@
|
|
|
41
51
|
'Helvetica', 'Arial', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
|
|
42
52
|
'Segoe UI Symbol';
|
|
43
53
|
--sans-mono-font: 'Google Sans Code', 'Consolas', 'Courier', monospace;
|
|
44
|
-
--serif-font:
|
|
54
|
+
--serif-font: <%= serifFontStack %>;
|
|
45
55
|
--serif-preview-font: 'Times New Roman', 'Times', serif;
|
|
46
|
-
--serif-mono-font:
|
|
56
|
+
--serif-mono-font: <%= serifMonoFontStack %>;
|
|
47
57
|
--sans-font-feature-settings:
|
|
48
58
|
'liga', 'calt', 'ss07', 'ss08', 'cv01', 'cv08', 'cv10';
|
|
49
59
|
--sans-mono-font-feature-settings: normal;
|
|
50
|
-
--serif-font-feature-settings:
|
|
51
|
-
--serif-mono-font-feature-settings:
|
|
60
|
+
--serif-font-feature-settings: <%= serifFontFeatureSettings %>;
|
|
61
|
+
--serif-mono-font-feature-settings: <%= serifMonoFontFeatureSettings %>;
|
|
52
62
|
--font: var(--sans-font);
|
|
53
63
|
--heading-font: var(--font);
|
|
54
64
|
--heading-line-height: 1.3;
|
package/templates/_top.html
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
<!doctype html>
|
|
2
|
-
<html lang="en"
|
|
2
|
+
<html lang="en"
|
|
3
|
+
data-default-font-preference="<%= site.defaultFont %>"
|
|
4
|
+
data-default-contrast-preference="<%= site.defaultContrast %>"<% if (site.defaultFont === 'serif') { %>
|
|
5
|
+
data-font-preference="serif"<% } %><% if (site.defaultContrast === 'high') { %>
|
|
6
|
+
data-contrast-preference="high"<% } %>>
|
|
3
7
|
<head>
|
|
4
8
|
<% if (site.features.favicon) { %>
|
|
5
9
|
<link rel="icon" href="/favicon.ico" sizes="any" />
|
|
@@ -36,15 +40,47 @@
|
|
|
36
40
|
<script>
|
|
37
41
|
document.documentElement.classList.add('js');
|
|
38
42
|
try {
|
|
39
|
-
|
|
40
|
-
|
|
43
|
+
const preference = window.localStorage.getItem('fontPreference');
|
|
44
|
+
const configured =
|
|
45
|
+
document.documentElement.dataset.defaultFontPreference;
|
|
46
|
+
if (
|
|
47
|
+
(preference === 'serif' || preference === 'sans') &&
|
|
48
|
+
preference !== configured
|
|
49
|
+
) {
|
|
50
|
+
if (preference === 'serif') {
|
|
51
|
+
document.documentElement.dataset.fontPreference = 'serif';
|
|
52
|
+
} else {
|
|
53
|
+
delete document.documentElement.dataset.fontPreference;
|
|
54
|
+
}
|
|
41
55
|
}
|
|
42
56
|
} catch {}
|
|
57
|
+
let contrastPreference;
|
|
43
58
|
try {
|
|
44
|
-
|
|
45
|
-
document.documentElement.dataset.contrastPreference = 'high';
|
|
46
|
-
}
|
|
59
|
+
contrastPreference = window.localStorage.getItem('contrastPreference');
|
|
47
60
|
} catch {}
|
|
61
|
+
const configuredContrast =
|
|
62
|
+
document.documentElement.dataset.defaultContrastPreference;
|
|
63
|
+
if (
|
|
64
|
+
contrastPreference !== 'high' &&
|
|
65
|
+
contrastPreference !== 'standard'
|
|
66
|
+
) {
|
|
67
|
+
contrastPreference = configuredContrast;
|
|
68
|
+
if (
|
|
69
|
+
configuredContrast !== 'high' &&
|
|
70
|
+
typeof window.matchMedia === 'function'
|
|
71
|
+
) {
|
|
72
|
+
try {
|
|
73
|
+
if (window.matchMedia('(prefers-contrast: more)').matches) {
|
|
74
|
+
contrastPreference = 'high';
|
|
75
|
+
}
|
|
76
|
+
} catch {}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
if (contrastPreference === 'high') {
|
|
80
|
+
document.documentElement.dataset.contrastPreference = 'high';
|
|
81
|
+
} else {
|
|
82
|
+
delete document.documentElement.dataset.contrastPreference;
|
|
83
|
+
}
|
|
48
84
|
</script>
|
|
49
85
|
<% if (!isWatchMode) { %>
|
|
50
86
|
<script type="speculationrules">
|
package/templates/code.html
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<div class="main-content">
|
|
4
4
|
<main class="body" data-pagefind-body>
|
|
5
5
|
<div class="file-header">
|
|
6
|
-
<h1 data-pagefind-weight="10" data-pagefind-meta="title_html[data-title-html]" data-title-html="<%- page.titleHtml %>"><%= page.titleHtml %></h1>
|
|
6
|
+
<h1 class="file-title" data-pagefind-weight="10" data-pagefind-meta="title_html[data-title-html]" data-title-html="<%- page.titleHtml %>"><%= page.titleHtml %></h1>
|
|
7
7
|
<%= render('_download.html') %>
|
|
8
8
|
</div>
|
|
9
9
|
<div class="code-body">
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24"><path d="M480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm40-83q119-15 199.5-104.5T800-480q0-123-80.5-212.5T520-797v634Z"/></svg>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24"><path d="M819-28 701-146q-48 32-103.5 49T480-80q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-62 17-117.5T146-701L27-820l57-57L876-85l-57 57ZM480-160q45 0 85.5-12t76.5-33L480-367v207Zm335-100-59-59q21-35 32.5-75.5T800-480q0-133-93.5-226.5T480-800v205L260-815q48-31 103.5-48T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 61-17 116.5T815-260Z"/></svg>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24"><path d="M440-280h80v-240h-80v240Zm40-320q17 0 28.5-11.5T520-640q0-17-11.5-28.5T480-680q-17 0-28.5 11.5T440-640q0 17 11.5 28.5T480-600Zm0 520q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z"/></svg>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24"><path d="m216-160-56-56 464-464H360v-80h400v400h-80v-264L216-160Z"/></svg>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24"><path d="M784-120 532-372q-30 24-69 38t-83 14q-109 0-184.5-75.5T120-580q0-109 75.5-184.5T380-840q109 0 184.5 75.5T640-580q0 44-14 83t-38 69l252 252-56 56ZM380-400q75 0 127.5-52.5T560-580q0-75-52.5-127.5T380-760q-75 0-127.5 52.5T200-580q0 75 52.5 127.5T380-400Z"/></svg>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24"><path d="M360-200v-80h264L160-744l56-56 464 464v-264h80v400H360Z"/></svg>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24"><path d="m240-160 40-160H120l20-80h160l40-160H180l20-80h160l40-160h80l-40 160h160l40-160h80l-40 160h160l-20 80H660l-40 160h160l-20 80H600l-40 160h-80l40-160H360l-40 160h-80Zm140-240h160l40-160H420l-40 160Z"/></svg>
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24"><path d="m40-120 440-760 440 760H40Zm138-80h604L480-720 178-200Zm302-40q17 0 28.5-11.5T520-280q0-17-11.5-28.5T480-320q-17 0-28.5 11.5T440-280q0 17 11.5 28.5T480-240Zm-40-120h80v-200h-80v200Zm40-100Z"/></svg>
|