jekyll-theme-zer0 0.21.2 → 0.22.0
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 +54 -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 +8 -3
- 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 +119 -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/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%;
|
|
@@ -113,7 +114,7 @@ html, body {
|
|
|
113
114
|
}
|
|
114
115
|
|
|
115
116
|
|
|
116
|
-
// Sidebar
|
|
117
|
+
// Sidebar / docs layout: _sass/core/_docs-layout.scss
|
|
117
118
|
|
|
118
119
|
// ==============================================================================
|
|
119
120
|
// SIDEBAR & TOC ENHANCEMENTS
|
|
@@ -134,12 +135,24 @@ html, body {
|
|
|
134
135
|
|
|
135
136
|
// Mobile FAB positioning (TOC button above back-to-top)
|
|
136
137
|
.bd-toc-fab {
|
|
137
|
-
|
|
138
|
+
right: 20px;
|
|
139
|
+
z-index: 1030;
|
|
140
|
+
|
|
138
141
|
@media (max-width: 991.98px) {
|
|
139
142
|
bottom: 90px !important; // 20px (back-to-top) + 56px (button height) + 14px (spacing)
|
|
140
143
|
}
|
|
141
144
|
}
|
|
142
145
|
|
|
146
|
+
.bd-toc-fab .bd-toc-toggle {
|
|
147
|
+
width: 56px;
|
|
148
|
+
height: 56px;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
// Cookie banner: above fixed navbar (1030), below offcanvas (1045) so drawers cover it
|
|
152
|
+
.cookie-consent-banner {
|
|
153
|
+
z-index: 1036;
|
|
154
|
+
}
|
|
155
|
+
|
|
143
156
|
// Active TOC link highlighting
|
|
144
157
|
.bd-toc nav a.active {
|
|
145
158
|
font-weight: 600;
|
|
@@ -180,7 +193,7 @@ html {
|
|
|
180
193
|
z-index: 1020; /* Below TOC button (1030) but above other content */
|
|
181
194
|
border: none; /* Remove borders */
|
|
182
195
|
outline: none; /* Remove outline */
|
|
183
|
-
background-color:
|
|
196
|
+
background-color: var(--bs-primary); /* Match Bootstrap theme primary */
|
|
184
197
|
color: inherit; /* Text color */
|
|
185
198
|
opacity: 25%;
|
|
186
199
|
cursor: pointer; /* Add a mouse pointer on hover */
|
|
@@ -220,6 +233,21 @@ img {
|
|
|
220
233
|
height: auto;
|
|
221
234
|
}
|
|
222
235
|
|
|
236
|
+
// Navbar logo: global img { max-width: 100% } shrinks it inside tight flex/grid cells on small viewports
|
|
237
|
+
// (Use a.navbar-brand only — div.navbar-brand.site-title should still shrink/truncate.)
|
|
238
|
+
#navbar a.navbar-brand {
|
|
239
|
+
flex-shrink: 0;
|
|
240
|
+
}
|
|
241
|
+
#navbar .navbar-brand img {
|
|
242
|
+
width: 30px;
|
|
243
|
+
height: 30px;
|
|
244
|
+
min-width: 30px;
|
|
245
|
+
min-height: 30px;
|
|
246
|
+
max-width: none;
|
|
247
|
+
object-fit: contain;
|
|
248
|
+
flex-shrink: 0;
|
|
249
|
+
}
|
|
250
|
+
|
|
223
251
|
// ============================================
|
|
224
252
|
// NAVBAR - Fixed positioning with auto-hide
|
|
225
253
|
// ============================================
|
|
@@ -234,6 +262,12 @@ img {
|
|
|
234
262
|
background-color: var(--bs-body-bg);
|
|
235
263
|
}
|
|
236
264
|
|
|
265
|
+
// Keep the outer Bootstrap navbar shell on one row (nanobar + nav); avoids rare wrap on wide pages
|
|
266
|
+
#navbar > .navbar.navbar-expand-lg {
|
|
267
|
+
flex-wrap: nowrap !important;
|
|
268
|
+
align-items: center;
|
|
269
|
+
}
|
|
270
|
+
|
|
237
271
|
#navbar .navbar-main {
|
|
238
272
|
align-items: center;
|
|
239
273
|
}
|
|
@@ -249,6 +283,83 @@ img {
|
|
|
249
283
|
gap: 0.25rem;
|
|
250
284
|
}
|
|
251
285
|
|
|
286
|
+
// Desktop (lg+): 3-column grid — [brand/title | main nav | utilities] so nav cannot paint over Search/Settings
|
|
287
|
+
@media (min-width: 992px) {
|
|
288
|
+
#navbar .navbar-main {
|
|
289
|
+
display: grid !important;
|
|
290
|
+
grid-template-columns: auto minmax(0, 1fr) auto;
|
|
291
|
+
align-items: center;
|
|
292
|
+
column-gap: 0.5rem;
|
|
293
|
+
row-gap: 0.25rem;
|
|
294
|
+
flex-wrap: unset !important;
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
#navbar .navbar-main-start {
|
|
298
|
+
grid-column: 1;
|
|
299
|
+
min-width: 0;
|
|
300
|
+
max-width: 100%;
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
#navbar #bdNavbar {
|
|
304
|
+
grid-column: 2;
|
|
305
|
+
width: 100%;
|
|
306
|
+
max-width: 100%;
|
|
307
|
+
min-width: 0;
|
|
308
|
+
}
|
|
309
|
+
|
|
310
|
+
#navbar .navbar-utility-controls {
|
|
311
|
+
grid-column: 3;
|
|
312
|
+
justify-self: end;
|
|
313
|
+
flex-shrink: 1;
|
|
314
|
+
min-width: 0;
|
|
315
|
+
max-width: 100%;
|
|
316
|
+
display: inline-flex;
|
|
317
|
+
flex-wrap: nowrap;
|
|
318
|
+
align-items: center;
|
|
319
|
+
gap: 0.25rem;
|
|
320
|
+
padding-left: 0.25rem;
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
#navbar .navbar-utility-controls .nav-search-button,
|
|
324
|
+
#navbar .navbar-utility-controls .nav-settings-button {
|
|
325
|
+
flex: 0 1 auto;
|
|
326
|
+
min-width: 0;
|
|
327
|
+
padding-left: 0.5rem;
|
|
328
|
+
padding-right: 0.5rem;
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
// Brand + title column yields when the bar is crowded
|
|
332
|
+
#navbar .navbar-brand-group,
|
|
333
|
+
#navbar .site-title,
|
|
334
|
+
#navbar .site-subtitle {
|
|
335
|
+
flex-shrink: 1;
|
|
336
|
+
min-width: 0;
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
#navbar .site-title .site-title-text {
|
|
340
|
+
max-width: min(14rem, 20vw);
|
|
341
|
+
overflow: hidden;
|
|
342
|
+
text-overflow: ellipsis;
|
|
343
|
+
white-space: nowrap;
|
|
344
|
+
vertical-align: bottom;
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
@media (min-width: 1200px) {
|
|
348
|
+
#navbar .site-title .site-title-text {
|
|
349
|
+
max-width: min(20rem, 28vw);
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
#navbar .site-subtitle .site-subtitle-text {
|
|
354
|
+
max-width: min(10rem, 14vw);
|
|
355
|
+
overflow: hidden;
|
|
356
|
+
text-overflow: ellipsis;
|
|
357
|
+
white-space: nowrap;
|
|
358
|
+
display: inline-block;
|
|
359
|
+
vertical-align: bottom;
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
|
|
252
363
|
// Hidden state - slides up out of view
|
|
253
364
|
// Using higher specificity to override Bootstrap's fixed-top
|
|
254
365
|
#navbar.navbar-hidden {
|
|
@@ -279,18 +390,17 @@ img {
|
|
|
279
390
|
|
|
280
391
|
#navbar .site-title .nav-link {
|
|
281
392
|
padding: 0;
|
|
393
|
+
min-height: 2.5rem;
|
|
394
|
+
align-items: center;
|
|
282
395
|
}
|
|
283
396
|
|
|
397
|
+
// Cap width so title doesn’t crowd toggles; full hide only via @container nav-brand-start
|
|
284
398
|
#navbar .site-title-text {
|
|
285
|
-
max-width:
|
|
399
|
+
max-width: min(12rem, 38vw);
|
|
286
400
|
white-space: nowrap;
|
|
287
401
|
overflow: hidden;
|
|
288
402
|
text-overflow: ellipsis;
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
#navbar .navbar-brand img {
|
|
292
|
-
width: 28px;
|
|
293
|
-
height: 28px;
|
|
403
|
+
vertical-align: middle;
|
|
294
404
|
}
|
|
295
405
|
|
|
296
406
|
#navbar .navbar-toggler {
|
|
@@ -329,130 +439,6 @@ img {
|
|
|
329
439
|
border-color: var(--bs-border-color-translucent);
|
|
330
440
|
}
|
|
331
441
|
|
|
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
442
|
.nested-list-group {
|
|
457
443
|
display: none;
|
|
458
444
|
}
|
|
@@ -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
|