jekyll-theme-zer0 0.21.2 → 0.22.5
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +103 -0
- data/README.md +86 -46
- data/_data/authors.yml +12 -3
- data/_data/features.yml +1 -1
- data/_data/glossary.yml +101 -0
- data/_data/navigation/docs.yml +12 -0
- data/_data/navigation/home.yml +2 -2
- data/_data/navigation/main.yml +2 -8
- data/_data/prompts.yml +184 -0
- data/_includes/components/author-eeat.html +133 -0
- data/_includes/components/cookie-consent.html +9 -9
- data/_includes/components/dev-shortcuts.html +36 -27
- data/_includes/components/env-detect.html +14 -0
- data/_includes/components/env-switcher.html +38 -16
- data/_includes/components/halfmoon.html +31 -20
- data/_includes/components/info-section.html +4 -3
- data/_includes/components/js-cdn.html +8 -15
- data/_includes/components/mermaid.html +13 -9
- data/_includes/components/powered-by.html +5 -3
- data/_includes/content/intro.html +64 -4
- data/_includes/content/jsonld-faq.html +47 -0
- data/_includes/content/jsonld-software.html +121 -0
- data/_includes/content/sitemap.html +2 -2
- data/_includes/core/branding.html +9 -7
- data/_includes/core/footer.html +12 -9
- data/_includes/core/head.html +17 -14
- data/_includes/core/header.html +33 -21
- data/_includes/navigation/navbar.html +130 -124
- data/_includes/navigation/sidebar-left.html +3 -3
- data/_includes/navigation/sidebar-right.html +4 -8
- data/_includes/search-data.json +1 -2
- data/_layouts/landing.html +30 -11
- data/_layouts/root.html +4 -4
- data/_layouts/sitemap-collection.html +20 -10
- data/_sass/core/_docs-layout.scss +756 -0
- data/_sass/core/_navbar.scss +522 -69
- data/_sass/core/_offcanvas-panels.scss +48 -0
- data/_sass/core/_syntax.scss +1 -51
- data/_sass/core/_theme.scss +2 -249
- data/_sass/core/_variables.scss +1 -54
- data/_sass/core/code-copy.scss +6 -6
- data/_sass/custom.scss +141 -133
- data/_sass/theme/_color-modes.scss +3 -0
- data/_sass/theme/_css-variables.scss +29 -0
- data/_sass/theme/_wizard-mode.scss +31 -0
- data/assets/css/custom.css +5 -120
- data/assets/css/main.scss +6 -2
- data/assets/css/stats.css +3 -0
- data/assets/css/theme-npm-entry.scss +6 -0
- data/assets/css/vendor/.gitkeep +0 -0
- data/assets/images/authors/bamr87.png +0 -0
- data/assets/js/auto-hide-nav.js +71 -20
- data/assets/js/color-modes.js +8 -2
- data/assets/js/halfmoon.js +8 -2
- data/assets/js/myScript.js +4 -12
- data/assets/js/navigation.js +174 -19
- data/assets/js/search-modal.js +50 -7
- data/assets/js/ui-enhancements.js +13 -0
- data/assets/vendor/bootstrap/css/bootstrap.min.css +5 -0
- data/assets/vendor/bootstrap/js/bootstrap.bundle.min.js +6 -0
- data/assets/vendor/bootstrap-icons/font/bootstrap-icons.css +2018 -0
- data/assets/vendor/bootstrap-icons/font/fonts/bootstrap-icons.woff +0 -0
- data/assets/vendor/bootstrap-icons/font/fonts/bootstrap-icons.woff2 +0 -0
- data/assets/vendor/font-awesome/css/all.min.css +9 -0
- data/assets/vendor/font-awesome/webfonts/fa-brands-400.ttf +0 -0
- data/assets/vendor/font-awesome/webfonts/fa-brands-400.woff2 +0 -0
- data/assets/vendor/font-awesome/webfonts/fa-regular-400.ttf +0 -0
- data/assets/vendor/font-awesome/webfonts/fa-regular-400.woff2 +0 -0
- data/assets/vendor/font-awesome/webfonts/fa-solid-900.ttf +0 -0
- data/assets/vendor/font-awesome/webfonts/fa-solid-900.woff2 +0 -0
- data/assets/vendor/font-awesome/webfonts/fa-v4compatibility.ttf +0 -0
- data/assets/vendor/font-awesome/webfonts/fa-v4compatibility.woff2 +0 -0
- data/assets/vendor/github-calendar/github-calendar-responsive.css +231 -0
- data/assets/vendor/github-calendar/github-calendar.min.js +240 -0
- data/assets/vendor/jquery/jquery-3.7.1.min.js +2 -0
- data/assets/vendor/mathjax/es5/adaptors/liteDOM.js +1 -0
- data/assets/vendor/mathjax/es5/core.js +1 -0
- data/assets/vendor/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_AMS-Regular.woff +0 -0
- data/assets/vendor/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Bold.woff +0 -0
- data/assets/vendor/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Calligraphic-Regular.woff +0 -0
- data/assets/vendor/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Fraktur-Bold.woff +0 -0
- data/assets/vendor/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Fraktur-Regular.woff +0 -0
- data/assets/vendor/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Main-Bold.woff +0 -0
- data/assets/vendor/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Main-Italic.woff +0 -0
- data/assets/vendor/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Main-Regular.woff +0 -0
- data/assets/vendor/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Math-BoldItalic.woff +0 -0
- data/assets/vendor/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Math-Italic.woff +0 -0
- data/assets/vendor/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Math-Regular.woff +0 -0
- data/assets/vendor/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_SansSerif-Bold.woff +0 -0
- data/assets/vendor/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_SansSerif-Italic.woff +0 -0
- data/assets/vendor/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_SansSerif-Regular.woff +0 -0
- data/assets/vendor/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Script-Regular.woff +0 -0
- data/assets/vendor/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Size1-Regular.woff +0 -0
- data/assets/vendor/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Size2-Regular.woff +0 -0
- data/assets/vendor/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Size3-Regular.woff +0 -0
- data/assets/vendor/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Size4-Regular.woff +0 -0
- data/assets/vendor/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Typewriter-Regular.woff +0 -0
- data/assets/vendor/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Vector-Bold.woff +0 -0
- data/assets/vendor/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Vector-Regular.woff +0 -0
- data/assets/vendor/mathjax/es5/output/chtml/fonts/woff-v2/MathJax_Zero.woff +0 -0
- data/assets/vendor/mathjax/es5/startup.js +1 -0
- data/assets/vendor/mathjax/es5/tex-mml-chtml.js +1 -0
- data/assets/vendor/mermaid/mermaid.min.js +2029 -0
- data/scripts/bin/build +12 -2
- data/scripts/lib/version.sh +41 -0
- data/scripts/test/integration/mermaid +1 -1
- data/scripts/vendor-install.sh +196 -0
- metadata +62 -3
- data/_sass/core/_docs.scss +0 -3219
data/_sass/custom.scss
CHANGED
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
// Import navbar styles (extracted from navbar.html)
|
|
12
12
|
@import "core/navbar";
|
|
13
|
+
@import "core/offcanvas-panels";
|
|
13
14
|
|
|
14
15
|
html, body {
|
|
15
16
|
max-width: 100%;
|
|
@@ -34,6 +35,28 @@ html, body {
|
|
|
34
35
|
box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, .35), inset 0 -1px 0 rgba(0, 0, 0, .15);
|
|
35
36
|
}
|
|
36
37
|
|
|
38
|
+
// Vendored Bootstrap build may omit vh utilities; landing hero uses this for stable min height
|
|
39
|
+
.min-vh-50 {
|
|
40
|
+
min-height: 50vh;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
// Landing layout: stable hero media slot (ratio) + no reliance on scroll script for first paint
|
|
44
|
+
.landing-hero {
|
|
45
|
+
.landing-hero-media {
|
|
46
|
+
max-width: min(100%, 28rem);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.landing-hero-media.ratio > img {
|
|
50
|
+
object-position: center;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
@media (prefers-reduced-motion: reduce) {
|
|
55
|
+
.landing-hero .landing-hero-media {
|
|
56
|
+
transition: none;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
37
60
|
#TableOfContents {
|
|
38
61
|
overflow: hidden;
|
|
39
62
|
text-overflow: ellipsis;
|
|
@@ -113,7 +136,7 @@ html, body {
|
|
|
113
136
|
}
|
|
114
137
|
|
|
115
138
|
|
|
116
|
-
// Sidebar
|
|
139
|
+
// Sidebar / docs layout: _sass/core/_docs-layout.scss
|
|
117
140
|
|
|
118
141
|
// ==============================================================================
|
|
119
142
|
// SIDEBAR & TOC ENHANCEMENTS
|
|
@@ -134,12 +157,24 @@ html, body {
|
|
|
134
157
|
|
|
135
158
|
// Mobile FAB positioning (TOC button above back-to-top)
|
|
136
159
|
.bd-toc-fab {
|
|
137
|
-
|
|
160
|
+
right: 20px;
|
|
161
|
+
z-index: 1030;
|
|
162
|
+
|
|
138
163
|
@media (max-width: 991.98px) {
|
|
139
164
|
bottom: 90px !important; // 20px (back-to-top) + 56px (button height) + 14px (spacing)
|
|
140
165
|
}
|
|
141
166
|
}
|
|
142
167
|
|
|
168
|
+
.bd-toc-fab .bd-toc-toggle {
|
|
169
|
+
width: 56px;
|
|
170
|
+
height: 56px;
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
// Cookie banner: above fixed navbar (1030), below offcanvas (1045) so drawers cover it
|
|
174
|
+
.cookie-consent-banner {
|
|
175
|
+
z-index: 1036;
|
|
176
|
+
}
|
|
177
|
+
|
|
143
178
|
// Active TOC link highlighting
|
|
144
179
|
.bd-toc nav a.active {
|
|
145
180
|
font-weight: 600;
|
|
@@ -180,7 +215,7 @@ html {
|
|
|
180
215
|
z-index: 1020; /* Below TOC button (1030) but above other content */
|
|
181
216
|
border: none; /* Remove borders */
|
|
182
217
|
outline: none; /* Remove outline */
|
|
183
|
-
background-color:
|
|
218
|
+
background-color: var(--bs-primary); /* Match Bootstrap theme primary */
|
|
184
219
|
color: inherit; /* Text color */
|
|
185
220
|
opacity: 25%;
|
|
186
221
|
cursor: pointer; /* Add a mouse pointer on hover */
|
|
@@ -220,6 +255,21 @@ img {
|
|
|
220
255
|
height: auto;
|
|
221
256
|
}
|
|
222
257
|
|
|
258
|
+
// Navbar logo: global img { max-width: 100% } shrinks it inside tight flex/grid cells on small viewports
|
|
259
|
+
// (Use a.navbar-brand only — div.navbar-brand.site-title should still shrink/truncate.)
|
|
260
|
+
#navbar a.navbar-brand {
|
|
261
|
+
flex-shrink: 0;
|
|
262
|
+
}
|
|
263
|
+
#navbar .navbar-brand img {
|
|
264
|
+
width: 30px;
|
|
265
|
+
height: 30px;
|
|
266
|
+
min-width: 30px;
|
|
267
|
+
min-height: 30px;
|
|
268
|
+
max-width: none;
|
|
269
|
+
object-fit: contain;
|
|
270
|
+
flex-shrink: 0;
|
|
271
|
+
}
|
|
272
|
+
|
|
223
273
|
// ============================================
|
|
224
274
|
// NAVBAR - Fixed positioning with auto-hide
|
|
225
275
|
// ============================================
|
|
@@ -234,6 +284,12 @@ img {
|
|
|
234
284
|
background-color: var(--bs-body-bg);
|
|
235
285
|
}
|
|
236
286
|
|
|
287
|
+
// Keep the outer Bootstrap navbar shell on one row (nanobar + nav); avoids rare wrap on wide pages
|
|
288
|
+
#navbar > .navbar.navbar-expand-lg {
|
|
289
|
+
flex-wrap: nowrap !important;
|
|
290
|
+
align-items: center;
|
|
291
|
+
}
|
|
292
|
+
|
|
237
293
|
#navbar .navbar-main {
|
|
238
294
|
align-items: center;
|
|
239
295
|
}
|
|
@@ -249,6 +305,83 @@ img {
|
|
|
249
305
|
gap: 0.25rem;
|
|
250
306
|
}
|
|
251
307
|
|
|
308
|
+
// Desktop (lg+): 3-column grid — [brand/title | main nav | utilities] so nav cannot paint over Search/Settings
|
|
309
|
+
@media (min-width: 992px) {
|
|
310
|
+
#navbar .navbar-main {
|
|
311
|
+
display: grid !important;
|
|
312
|
+
grid-template-columns: auto minmax(0, 1fr) auto;
|
|
313
|
+
align-items: center;
|
|
314
|
+
column-gap: 0.5rem;
|
|
315
|
+
row-gap: 0.25rem;
|
|
316
|
+
flex-wrap: unset !important;
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
#navbar .navbar-main-start {
|
|
320
|
+
grid-column: 1;
|
|
321
|
+
min-width: 0;
|
|
322
|
+
max-width: 100%;
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
#navbar #bdNavbar {
|
|
326
|
+
grid-column: 2;
|
|
327
|
+
width: 100%;
|
|
328
|
+
max-width: 100%;
|
|
329
|
+
min-width: 0;
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
#navbar .navbar-utility-controls {
|
|
333
|
+
grid-column: 3;
|
|
334
|
+
justify-self: end;
|
|
335
|
+
flex-shrink: 1;
|
|
336
|
+
min-width: 0;
|
|
337
|
+
max-width: 100%;
|
|
338
|
+
display: inline-flex;
|
|
339
|
+
flex-wrap: nowrap;
|
|
340
|
+
align-items: center;
|
|
341
|
+
gap: 0.25rem;
|
|
342
|
+
padding-left: 0.25rem;
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
#navbar .navbar-utility-controls .nav-search-button,
|
|
346
|
+
#navbar .navbar-utility-controls .nav-settings-button {
|
|
347
|
+
flex: 0 1 auto;
|
|
348
|
+
min-width: 0;
|
|
349
|
+
padding-left: 0.5rem;
|
|
350
|
+
padding-right: 0.5rem;
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
// Brand + title column yields when the bar is crowded
|
|
354
|
+
#navbar .navbar-brand-group,
|
|
355
|
+
#navbar .site-title,
|
|
356
|
+
#navbar .site-subtitle {
|
|
357
|
+
flex-shrink: 1;
|
|
358
|
+
min-width: 0;
|
|
359
|
+
}
|
|
360
|
+
|
|
361
|
+
#navbar .site-title .site-title-text {
|
|
362
|
+
max-width: min(14rem, 20vw);
|
|
363
|
+
overflow: hidden;
|
|
364
|
+
text-overflow: ellipsis;
|
|
365
|
+
white-space: nowrap;
|
|
366
|
+
vertical-align: bottom;
|
|
367
|
+
}
|
|
368
|
+
|
|
369
|
+
@media (min-width: 1200px) {
|
|
370
|
+
#navbar .site-title .site-title-text {
|
|
371
|
+
max-width: min(20rem, 28vw);
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
|
|
375
|
+
#navbar .site-subtitle .site-subtitle-text {
|
|
376
|
+
max-width: min(10rem, 14vw);
|
|
377
|
+
overflow: hidden;
|
|
378
|
+
text-overflow: ellipsis;
|
|
379
|
+
white-space: nowrap;
|
|
380
|
+
display: inline-block;
|
|
381
|
+
vertical-align: bottom;
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
|
|
252
385
|
// Hidden state - slides up out of view
|
|
253
386
|
// Using higher specificity to override Bootstrap's fixed-top
|
|
254
387
|
#navbar.navbar-hidden {
|
|
@@ -279,18 +412,17 @@ img {
|
|
|
279
412
|
|
|
280
413
|
#navbar .site-title .nav-link {
|
|
281
414
|
padding: 0;
|
|
415
|
+
min-height: 2.5rem;
|
|
416
|
+
align-items: center;
|
|
282
417
|
}
|
|
283
418
|
|
|
419
|
+
// Cap width so title doesn’t crowd toggles; full hide only via @container nav-brand-start
|
|
284
420
|
#navbar .site-title-text {
|
|
285
|
-
max-width:
|
|
421
|
+
max-width: min(12rem, 38vw);
|
|
286
422
|
white-space: nowrap;
|
|
287
423
|
overflow: hidden;
|
|
288
424
|
text-overflow: ellipsis;
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
#navbar .navbar-brand img {
|
|
292
|
-
width: 28px;
|
|
293
|
-
height: 28px;
|
|
425
|
+
vertical-align: middle;
|
|
294
426
|
}
|
|
295
427
|
|
|
296
428
|
#navbar .navbar-toggler {
|
|
@@ -329,130 +461,6 @@ img {
|
|
|
329
461
|
border-color: var(--bs-border-color-translucent);
|
|
330
462
|
}
|
|
331
463
|
|
|
332
|
-
$enable-cssgrid: true;
|
|
333
|
-
$enable-grid-classes: false;
|
|
334
|
-
|
|
335
|
-
// #box {
|
|
336
|
-
// background:url('data:image/gif;base64,R0lGODlhBgAGAIAAAO7u7t7e3iH5BAAAAAAALAAAAAAGAAYAAAIKhIOXgKGuDIOzAAA7') #eeeff1;
|
|
337
|
-
// }
|
|
338
|
-
|
|
339
|
-
// body {font-size:12px; background:#ffe;}
|
|
340
|
-
// body,
|
|
341
|
-
// textarea {text-align:center; font-family:arial;}
|
|
342
|
-
|
|
343
|
-
// input {}
|
|
344
|
-
// input[type='number'],
|
|
345
|
-
// input[type='color'] {width:5em;}
|
|
346
|
-
// input[type='number'] {padding:0.25em; text-align:right;}
|
|
347
|
-
// select {width:9em; font-size:11px; padding:0.25em 0.2em;}
|
|
348
|
-
// option {padding:0.25em 0.2em;}
|
|
349
|
-
// textarea {resize:none; padding:2.5em; color:#358; background:#eef2f4; font-size:2em; border:0; width:100%;}
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
// #set {user-select:none; background:#fff; overflow:hidden;}
|
|
354
|
-
// #set table {border-collapse:collapse; padding:2em; font-size:11px; text-transform:uppercase; margin:2em auto;}
|
|
355
|
-
// #set th,
|
|
356
|
-
// #set td {padding:0.4em 0.5em;}
|
|
357
|
-
// #set th {text-align:right; color:#567;}
|
|
358
|
-
// #set td {text-align:left;}
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
// /* res beautifier */
|
|
362
|
-
// #res {color:#789; padding:2em; text-align:left; font-family:'Lucida Console', Monaco, monospace;}
|
|
363
|
-
// #res b {font-weight:normal;}
|
|
364
|
-
// #res i {font-style:normal;}
|
|
365
|
-
// #res .obj {color:#789;}
|
|
366
|
-
// #res .obj b {color:#345; font-weight:bold;}
|
|
367
|
-
// #res .key {color:#45a;}
|
|
368
|
-
// #res .num {color:#12a;}
|
|
369
|
-
// #res .txt {color:#9ab;}
|
|
370
|
-
// #res .txt i {color:#384;}
|
|
371
|
-
// #res .clr {color:#9ab;}
|
|
372
|
-
// #res .clr i {color:#731;}
|
|
373
|
-
// #res a {color:#67a;}
|
|
374
|
-
// #res a:hover {color:#67e;}
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
// #box {overflow:hidden; position:relative; height:300px; padding:3em;}
|
|
378
|
-
// #box svg {display:block; position:absolute; right:50%; bottom:50%; transform:translate( 50%, 50%); cursor:pointer;}
|
|
379
|
-
// #box svg {max-width:100%; max-height:100%;}
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
// /* minimized options for small screen */
|
|
383
|
-
// .opt {display:block; padding:1em; background:#0ae; color:#fff; text-decoration:none;}
|
|
384
|
-
// .opt:hover {background:#0af;}
|
|
385
|
-
|
|
386
|
-
// #op2.opt {background:#ea0;}
|
|
387
|
-
// #op2.opt:hover {background:#fa0;}
|
|
388
|
-
|
|
389
|
-
// #set table,
|
|
390
|
-
// #set .legend,
|
|
391
|
-
// #set #op2.opt,
|
|
392
|
-
// #set.show #op1.opt {display:none;}
|
|
393
|
-
|
|
394
|
-
// #set.show table {display:table;}
|
|
395
|
-
// #set.show #op2.opt {display:block;}
|
|
396
|
-
|
|
397
|
-
// @media (min-width: 620px) {
|
|
398
|
-
|
|
399
|
-
// html,
|
|
400
|
-
// body,
|
|
401
|
-
// #box,
|
|
402
|
-
// #set,
|
|
403
|
-
// #txt,
|
|
404
|
-
// #msg,
|
|
405
|
-
// #hnt {display:block; position:absolute; top:0; right:0; left:0; bottom:0;}
|
|
406
|
-
|
|
407
|
-
// html,
|
|
408
|
-
// body {overflow:hidden;}
|
|
409
|
-
// #box {height:auto;}
|
|
410
|
-
|
|
411
|
-
// #txt,
|
|
412
|
-
// #hnt {height:250px; top:auto; border-top:3px #eee solid;}
|
|
413
|
-
|
|
414
|
-
// #set,
|
|
415
|
-
// #hnt {width:270px; left:auto;}
|
|
416
|
-
// #set table {font-size:10px;}
|
|
417
|
-
|
|
418
|
-
// #box,
|
|
419
|
-
// #txt {right:270px}
|
|
420
|
-
|
|
421
|
-
// #box,
|
|
422
|
-
// #set {bottom:250px;}
|
|
423
|
-
|
|
424
|
-
// #hnt {overflow:auto;}
|
|
425
|
-
// #msg {width:100%; height:100%;}
|
|
426
|
-
|
|
427
|
-
// #set {overflow-y:auto;}
|
|
428
|
-
// #set .legend {display:block;}
|
|
429
|
-
// #set table {display:table;}
|
|
430
|
-
// #set .opt {display:none !important;}
|
|
431
|
-
// }
|
|
432
|
-
|
|
433
|
-
// @media (min-width:900px) {
|
|
434
|
-
|
|
435
|
-
// #set,
|
|
436
|
-
// #hnt {width:30%}
|
|
437
|
-
// #box,
|
|
438
|
-
// #txt {right:30%}
|
|
439
|
-
// }
|
|
440
|
-
|
|
441
|
-
// @media (min-width:1024px) {
|
|
442
|
-
|
|
443
|
-
// #set table {font-size:11px;}
|
|
444
|
-
// }
|
|
445
|
-
|
|
446
|
-
// @media (min-width:1600px) {
|
|
447
|
-
|
|
448
|
-
// #set,
|
|
449
|
-
// #hnt {width:480px}
|
|
450
|
-
// #box,
|
|
451
|
-
// #txt {right:480px}
|
|
452
|
-
// }
|
|
453
|
-
|
|
454
|
-
// .legend {padding:1.5em 0.5em; border-bottom:1px #eee solid;}
|
|
455
|
-
|
|
456
464
|
.nested-list-group {
|
|
457
465
|
display: none;
|
|
458
466
|
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// Docs-layout and light/dark accent tokens (--bd-*). Consumed by CDN Bootstrap + _docs-layout.scss.
|
|
2
|
+
// Wizard palette lives in _wizard-mode.scss.
|
|
3
|
+
|
|
4
|
+
:root,
|
|
5
|
+
[data-bs-theme="light"] {
|
|
6
|
+
--bd-purple: #4c0bce;
|
|
7
|
+
--bd-violet: #712cf9;
|
|
8
|
+
--bd-accent: #ffe484;
|
|
9
|
+
--bd-violet-rgb: 112.520718, 44.062154, 249.437846;
|
|
10
|
+
--bd-accent-rgb: 255, 228, 132;
|
|
11
|
+
--bd-pink-rgb: 214, 51, 132;
|
|
12
|
+
--bd-teal-rgb: 32, 201, 151;
|
|
13
|
+
--bd-violet-bg: var(--bd-violet);
|
|
14
|
+
--bd-toc-color: var(--bd-violet);
|
|
15
|
+
--bd-sidebar-link-bg: rgba(var(--bd-violet-rgb), 0.1);
|
|
16
|
+
--bd-callout-link: 10, 88, 202;
|
|
17
|
+
--bd-callout-code-color: #ab296a;
|
|
18
|
+
--bd-pre-bg: var(--bs-tertiary-bg);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
[data-bs-theme="dark"] {
|
|
22
|
+
--bd-violet: #9461fb;
|
|
23
|
+
--bd-violet-bg: #712cf9;
|
|
24
|
+
--bd-toc-color: var(--bs-emphasis-color);
|
|
25
|
+
--bd-sidebar-link-bg: rgba(84, 33, 187, 0.5);
|
|
26
|
+
--bd-callout-link: 110, 168, 254;
|
|
27
|
+
--bd-callout-code-color: #e685b5;
|
|
28
|
+
--bd-pre-bg: #1b1f22;
|
|
29
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
// Wizard color mode — Sass-backed overrides for [data-bs-theme="wizard"].
|
|
2
|
+
// Depends on gray/white/blue maps from core/_variables.scss (imported before this file).
|
|
3
|
+
|
|
4
|
+
$blue-400: #073781;
|
|
5
|
+
$blue-500: #073781;
|
|
6
|
+
$blue-600: #346182;
|
|
7
|
+
$blue-700: #346182;
|
|
8
|
+
|
|
9
|
+
[data-bs-theme="wizard"] {
|
|
10
|
+
--bs-body-color: var(--bs-white);
|
|
11
|
+
--bs-body-color-rgb: #{to-rgb($white)};
|
|
12
|
+
--bs-body-bg: var(--bs-blue);
|
|
13
|
+
--bs-body-bg-rgb: #{to-rgb($blue)};
|
|
14
|
+
--bs-tertiary-bg: #{$blue-600};
|
|
15
|
+
|
|
16
|
+
.dropdown-menu {
|
|
17
|
+
--bs-dropdown-bg: #{mix($blue-500, $blue-600)};
|
|
18
|
+
--bs-dropdown-link-active-bg: #{$blue-700};
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.btn-secondary {
|
|
22
|
+
--bs-btn-bg: #{mix($gray-600, $blue-400, 0.5)};
|
|
23
|
+
--bs-btn-border-color: #{rgba($white, 0.25)};
|
|
24
|
+
--bs-btn-hover-bg: #{darken(mix($gray-600, $blue-400, 0.5), 5%)};
|
|
25
|
+
--bs-btn-hover-border-color: #{rgba($white, 0.25)};
|
|
26
|
+
--bs-btn-active-bg: #{darken(mix($gray-600, $blue-400, 0.5), 10%)};
|
|
27
|
+
--bs-btn-active-border-color: #{rgba($white, 0.5)};
|
|
28
|
+
--bs-btn-focus-border-color: #{rgba($white, 0.5)};
|
|
29
|
+
--bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(255, 255, 255, 0.2);
|
|
30
|
+
}
|
|
31
|
+
}
|
data/assets/css/custom.css
CHANGED
|
@@ -1,120 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
.masthead {
|
|
7
|
-
padding-top: 0rem;
|
|
8
|
-
padding-bottom: 0rem;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
/* Add background and shadow to navbar when scrolling */
|
|
12
|
-
#mainNav.navbar-shrink {
|
|
13
|
-
background-color: white;
|
|
14
|
-
box-shadow: 0px 0px 30px rgba(44, 62, 80, 0.5);
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
/* Set navbar brand color */
|
|
18
|
-
#mainNav .navbar-brand {
|
|
19
|
-
color: #1abc9c;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
/* Underline navbar brand on hover */
|
|
23
|
-
#mainNav .navbar-brand:hover {
|
|
24
|
-
text-decoration: underline;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
/* Set navbar link color */
|
|
28
|
-
#mainNav .navbar-nav li.nav-item a.nav-link {
|
|
29
|
-
color: #2c3e50;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
#mainNav .navbar-nav li.nav-item a.nav-link:active, #mainNav .navbar-nav li.nav-item a.nav-link:focus {
|
|
33
|
-
color: #2c3e50;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
/* Set navbar link color and underline on hover */
|
|
37
|
-
#mainNav .navbar-nav li.nav-item a.nav-link:hover {
|
|
38
|
-
color: #1abc9c;
|
|
39
|
-
border-bottom: 3px solid;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
#mainNav .navbar-nav li.nav-item a.nav-link.active {
|
|
43
|
-
color: #1abc9c;
|
|
44
|
-
border-bottom: 3px solid;
|
|
45
|
-
background: white;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
@media (min-width: 992px) {
|
|
49
|
-
#mainNav .navbar-nav > li.nav-item > a.nav-link.active:active, #mainNav .navbar-nav > li.nav-item > a.nav-link.active:focus, #mainNav .navbar-nav > li.nav-item > a.nav-link.active:hover {
|
|
50
|
-
color: #1abc9c;
|
|
51
|
-
border-bottom: 3px solid;
|
|
52
|
-
background: white;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/* Increase top margin of divider line to align with icon */
|
|
57
|
-
.divider-custom-line {
|
|
58
|
-
margin-top: 1.75rem;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
/* Increase icon size in social buttons */
|
|
62
|
-
.btn-social {
|
|
63
|
-
font-size: 1.5rem;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
/* ------------------------------------------------------------------------------------------------------------------- */
|
|
67
|
-
/* Add new components
|
|
68
|
-
/* ------------------------------------------------------------------------------------------------------------------- */
|
|
69
|
-
|
|
70
|
-
/* Add divider-primary class to set dividers to primary color */
|
|
71
|
-
.divider-custom.divider-primary .divider-custom-line {
|
|
72
|
-
background-color: #1abc9c;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
.divider-custom.divider-primary .divider-custom-icon {
|
|
76
|
-
color: #1abc9c !important;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
/* Center text landing over previous element */
|
|
80
|
-
#textlanding {
|
|
81
|
-
position: absolute;
|
|
82
|
-
top: 50%;
|
|
83
|
-
right: 50%;
|
|
84
|
-
transform: translate(50%,-50%);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
/* Move arrow near bottom of section */
|
|
88
|
-
#arrowlanding {
|
|
89
|
-
position: absolute;
|
|
90
|
-
top: 95%;
|
|
91
|
-
right: 50%;
|
|
92
|
-
transform: translate(50%,-50%);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
/* Set arrow color */
|
|
96
|
-
#arrowlanding a {
|
|
97
|
-
color: #2c3e50;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
/* Set arrow color on hover */
|
|
101
|
-
#arrowlanding a:hover {
|
|
102
|
-
color: #1abc9c;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
/* Ensure particles span entire section */
|
|
106
|
-
#particles-js {
|
|
107
|
-
width: 100%;
|
|
108
|
-
/* height: 100%; */
|
|
109
|
-
/* background-color: white; */
|
|
110
|
-
background-image: url('');
|
|
111
|
-
background-size: cover;
|
|
112
|
-
/* background-position: 50% 50%; */
|
|
113
|
-
background-repeat: no-repeat;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
.nanobar .bar {
|
|
118
|
-
margin-top: 56px;
|
|
119
|
-
background: #1cc927;
|
|
120
|
-
}
|
|
1
|
+
/*
|
|
2
|
+
* Legacy asset path — not used by the current theme.
|
|
3
|
+
* Custom styles: _sass/custom.scss (compiled into assets/css/main.css), or optional user-overrides.css.
|
|
4
|
+
* Kept so older builds or cached HTML that still link here do not 404.
|
|
5
|
+
*/
|
data/assets/css/main.scss
CHANGED
|
@@ -5,10 +5,14 @@
|
|
|
5
5
|
|
|
6
6
|
@charset "utf-8";
|
|
7
7
|
|
|
8
|
-
//
|
|
8
|
+
// Theme layer on top of bundled Bootstrap CSS (assets/vendor/bootstrap/css/bootstrap.min.css in head.html).
|
|
9
|
+
// Advanced: npm run css:bootstrap can emit a custom Bootstrap build; swap the head <link> — never load two full Bootstraps.
|
|
10
|
+
|
|
11
|
+
// Design tokens + theme (CSS variables / wizard mode)
|
|
9
12
|
@import "core/variables";
|
|
10
|
-
@import "core/docs";
|
|
11
13
|
@import "core/theme";
|
|
14
|
+
// Bootstrap-docs-style layout (trimmed; was ~3.2k-line vendor snapshot)
|
|
15
|
+
@import "core/docs-layout";
|
|
12
16
|
|
|
13
17
|
// Bootstrap Styles
|
|
14
18
|
// @import "bootstrap.scss";
|
data/assets/css/stats.css
CHANGED
|
@@ -4,6 +4,9 @@
|
|
|
4
4
|
===================================================================
|
|
5
5
|
|
|
6
6
|
File: stats.css
|
|
7
|
+
Loaded only when `page.layout == 'stats'` (_includes/core/head.html).
|
|
8
|
+
Kept separate so dashboard CSS is not bundled into every page’s main.css.
|
|
9
|
+
|
|
7
10
|
Purpose: Custom styles for the statistics dashboard that cannot be
|
|
8
11
|
achieved with Bootstrap 5 utility classes alone.
|
|
9
12
|
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// Optional npm build: compiles Bootstrap from node_modules (same major as CDN in head.html).
|
|
2
|
+
// Run from repo root: npm install && npm run css:bootstrap
|
|
3
|
+
// Output: assets/css/vendor/bootstrap-from-npm.css
|
|
4
|
+
// To use: point the Bootstrap <link> in _includes/core/head.html at that file instead of jsDelivr.
|
|
5
|
+
|
|
6
|
+
@import "bootstrap/scss/bootstrap";
|
|
File without changes
|
|
Binary file
|