jekyll-theme-zer0 1.19.1 → 1.20.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +395 -0
- data/README.md +27 -19
- data/_data/authors.yml +154 -5
- data/_data/backlog.yml +5 -5
- data/_data/content_statistics.yml +273 -297
- data/_data/features.yml +4 -25
- data/_data/navigation/README.md +24 -0
- data/_data/navigation/about.yml +2 -0
- data/_data/navigation/main.yml +2 -7
- data/_data/roadmap.yml +86 -12
- data/_includes/components/author-avatar-url.html +28 -0
- data/_includes/components/author-bio.html +86 -0
- data/_includes/components/author-card.html +184 -121
- data/_includes/components/author-eeat.html +10 -4
- data/_includes/components/info-section.html +1 -1
- data/_includes/components/mermaid.html +0 -3
- data/_includes/components/post-card.html +19 -9
- data/_includes/content/giscus.html +3 -2
- data/_includes/core/footer-fabs.html +28 -0
- data/_includes/core/footer.html +7 -17
- data/_includes/core/head.html +2 -2
- data/_includes/navigation/breadcrumbs.html +20 -2
- data/_includes/navigation/local-graph.html +18 -2
- data/_includes/obsidian/full-graph.html +4 -6
- data/_layouts/article.html +44 -74
- data/_layouts/author.html +274 -0
- data/_layouts/authors.html +55 -0
- data/_layouts/news.html +3 -3
- data/_layouts/note.html +21 -6
- data/_layouts/notebook.html +21 -6
- data/_layouts/root.html +31 -17
- data/_layouts/section.html +3 -3
- data/_plugins/author_pages_generator.rb +121 -0
- data/_sass/components/_author.scss +219 -0
- data/_sass/components/_content-tables.scss +16 -1
- data/_sass/components/_notes-index.scss +102 -0
- data/_sass/components/_search-modal.scss +40 -0
- data/_sass/components/_ui-enhancements.scss +570 -0
- data/_sass/core/_docs-code-examples.scss +463 -0
- data/_sass/core/_docs-layout.scss +0 -453
- data/_sass/core/_navbar.scss +253 -0
- data/_sass/core/_sidebar-extras.scss +79 -0
- data/_sass/core/_toc.scss +87 -0
- data/_sass/core/_variables.scss +7 -142
- data/_sass/custom.scss +24 -1122
- data/_sass/layouts/_global-chrome.scss +59 -0
- data/assets/css/main.scss +19 -2
- data/assets/js/author-profile.js +190 -0
- data/assets/js/modules/navigation/navbar.js +104 -0
- data/assets/js/obsidian-graph.js +2 -2
- data/assets/js/obsidian-local-graph.js +11 -5
- data/assets/vendor/cytoscape/cytoscape.min.js +32 -0
- data/scripts/README.md +39 -0
- data/scripts/bin/validate +11 -1
- data/scripts/dev/css-diff.sh +49 -0
- data/scripts/dev/shot.js +37 -0
- data/scripts/features/generate-preview-images +110 -6
- data/scripts/features/pixelate-preview-images +126 -0
- data/scripts/features/pixelate_images.py +662 -0
- data/scripts/github-setup.sh +0 -0
- data/scripts/lib/preview_generator.py +47 -3
- data/scripts/pixelate-preview-images.sh +12 -0
- data/scripts/test/integration/auto-version +10 -8
- data/scripts/test/lib/run_tests.sh +2 -0
- data/scripts/test/lib/test_content_review.sh +205 -0
- data/scripts/test/lib/test_pixelate_images.sh +108 -0
- metadata +25 -20
- data/_data/hub.yml +0 -68
- data/_data/hub_index.yml +0 -203
- data/_data/navigation/hub.yml +0 -110
- data/assets/vendor/font-awesome/css/all.min.css +0 -9
- 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/jquery/jquery-3.7.1.min.js +0 -2
- data/scripts/lib/hub.rb +0 -208
- data/scripts/provision-org-sites.rb +0 -252
- data/scripts/provision-org-sites.sh +0 -23
- data/scripts/sync-hub-metadata.rb +0 -184
- data/scripts/sync-hub-metadata.sh +0 -22
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
|
|
3
|
+
// Sidebar / TOC extras — active states + cookie-banner & back-to-top shims
|
|
4
|
+
|
|
5
|
+
// ----------------------------------------------------------------------------
|
|
6
|
+
|
|
7
|
+
// Extracted from custom.scss (Phase 5). Kept at the custom-layer slot (not
|
|
8
|
+
|
|
9
|
+
// merged into core/_sidebar-categories.scss) because some selectors overlap
|
|
10
|
+
|
|
11
|
+
// rules defined earlier; staying here preserves the override order.
|
|
12
|
+
|
|
13
|
+
// ============================================================================
|
|
14
|
+
|
|
15
|
+
// Sidebar / docs layout: _sass/core/_docs-layout.scss
|
|
16
|
+
|
|
17
|
+
// ==============================================================================
|
|
18
|
+
// SIDEBAR & TOC ENHANCEMENTS
|
|
19
|
+
// ==============================================================================
|
|
20
|
+
|
|
21
|
+
// MOVED → _sass/layouts/_navbar-extras.scss (token-aware FAB stacking)
|
|
22
|
+
// MOVED → _sass/components/_cookie-banner.scss (token-aware, dark-mode-safe)
|
|
23
|
+
// Retained shim: keep stacked-button responsive sizing inside the banner
|
|
24
|
+
// because it is a banner-internal concern, not a banner-shell concern.
|
|
25
|
+
.cookie-consent-banner {
|
|
26
|
+
@media (max-width: 768px) {
|
|
27
|
+
.btn {
|
|
28
|
+
width: 100%;
|
|
29
|
+
margin-bottom: 0.5rem;
|
|
30
|
+
|
|
31
|
+
&:last-child {
|
|
32
|
+
margin-bottom: 0;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Active TOC link highlighting
|
|
39
|
+
.bd-toc nav a.active {
|
|
40
|
+
font-weight: 600;
|
|
41
|
+
background-color: rgba(var(--bs-primary-rgb), 0.1);
|
|
42
|
+
border-left-color: var(--bs-primary) !important;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// Smooth scroll behavior is declared once below (see "Smooth Scroll Enhancement")
|
|
46
|
+
|
|
47
|
+
// Category sidebar active state (nav-tree--categories)
|
|
48
|
+
.nav-tree--categories .sidebar-categories-link.active {
|
|
49
|
+
font-weight: var(--zer0-font-weight-medium);
|
|
50
|
+
background-color: color-mix(in srgb, var(--zer0-color-primary) 10%, transparent);
|
|
51
|
+
color: var(--zer0-color-primary);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// Improve sidebar link hover states
|
|
55
|
+
.bd-sidebar .list-group-item:hover,
|
|
56
|
+
.bd-sidebar .list-group-item-action:hover {
|
|
57
|
+
background-color: rgba(var(--bs-primary-rgb), 0.05);
|
|
58
|
+
transition: background-color 0.2s ease;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// ==============================================================================
|
|
62
|
+
// https://designkojo.com/add-ellipse-truncated-text-css-single-line-and-multi-line-options
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
// MOVED → _sass/components/_back-to-top.scss (token-aware version)
|
|
66
|
+
// Retained shim: keep the initial `display: none` (JS toggles it on scroll)
|
|
67
|
+
// and the text/arrow label swap, which are content-level concerns the
|
|
68
|
+
// component partial doesn't need to know about.
|
|
69
|
+
#backToTopBtn {
|
|
70
|
+
display: none;
|
|
71
|
+
|
|
72
|
+
.text { display: inline-block; }
|
|
73
|
+
.arrow { display: none; }
|
|
74
|
+
|
|
75
|
+
@media (max-width: 600px) {
|
|
76
|
+
.text { display: none; }
|
|
77
|
+
.arrow { display: inline-block; }
|
|
78
|
+
}
|
|
79
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
// ============================================================================
|
|
2
|
+
|
|
3
|
+
// Table of contents — #TableOfContents + .toc sticky sidebar + collapse
|
|
4
|
+
|
|
5
|
+
// ----------------------------------------------------------------------------
|
|
6
|
+
|
|
7
|
+
// Extracted from custom.scss (Phase 5).
|
|
8
|
+
|
|
9
|
+
// ============================================================================
|
|
10
|
+
|
|
11
|
+
#TableOfContents {
|
|
12
|
+
overflow: hidden;
|
|
13
|
+
text-overflow: ellipsis;
|
|
14
|
+
// white-space: nowrap;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.toc {
|
|
18
|
+
grid-area: toc;
|
|
19
|
+
padding-top: 5rem;
|
|
20
|
+
top: 0;
|
|
21
|
+
right: 5rem;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
@media (min-width: 992px) {
|
|
26
|
+
.toc {
|
|
27
|
+
position: -webkit-sticky;
|
|
28
|
+
position: sticky;
|
|
29
|
+
top: 5rem;
|
|
30
|
+
right: 5rem;
|
|
31
|
+
z-index: 2;
|
|
32
|
+
height: calc(100vh - 7rem);
|
|
33
|
+
overflow-y: auto
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.toc nav {
|
|
38
|
+
font-size: .875rem
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.toc nav ul {
|
|
42
|
+
padding-left: 0;
|
|
43
|
+
margin-bottom: 0;
|
|
44
|
+
list-style: none
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.toc nav ul ul {
|
|
48
|
+
padding-left: 1rem;
|
|
49
|
+
margin-top: .25rem
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
.toc nav li {
|
|
53
|
+
margin-bottom: .25rem
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.toc nav a {
|
|
57
|
+
color: inherit
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
.toc nav a:not(:hover) {
|
|
61
|
+
text-decoration: none
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.toc nav a code {
|
|
65
|
+
font: inherit
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.toc-toggle {
|
|
69
|
+
display: flex;
|
|
70
|
+
align-items: center
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
@media (max-width: 989.98px) {
|
|
75
|
+
.toc-collapse nav {
|
|
76
|
+
padding:1.25rem;
|
|
77
|
+
background-color: var(--bs-tertiary-bg);
|
|
78
|
+
border: 1px solid var(--bs-border-color);
|
|
79
|
+
border-radius: var(--bs-border-radius)
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
@media (min-width: 990px) {
|
|
84
|
+
.toc-collapse {
|
|
85
|
+
display:block !important
|
|
86
|
+
}
|
|
87
|
+
}
|
data/_sass/core/_variables.scss
CHANGED
|
@@ -2,135 +2,13 @@
|
|
|
2
2
|
Variables
|
|
3
3
|
========================================================================== */
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
/*
|
|
12
|
-
$paragraph-indent: false !default; // true, false (default)
|
|
13
|
-
$indent-var: 1.3em !default;
|
|
14
|
-
|
|
15
|
-
/* system typefaces */
|
|
16
|
-
$serif: Georgia, Times, serif !default;
|
|
17
|
-
$sans-serif: -apple-system, BlinkMacSystemFont, "Roboto", "Segoe UI",
|
|
18
|
-
"Helvetica Neue", "Lucida Grande", Arial, sans-serif !default;
|
|
19
|
-
$monospace: Monaco, Consolas, "Lucida Console", monospace !default;
|
|
20
|
-
|
|
21
|
-
/* sans serif typefaces */
|
|
22
|
-
$sans-serif-narrow: $sans-serif !default;
|
|
23
|
-
$helvetica: Helvetica, "Helvetica Neue", Arial, sans-serif !default;
|
|
24
|
-
|
|
25
|
-
/* serif typefaces */
|
|
26
|
-
$georgia: Georgia, serif !default;
|
|
27
|
-
$times: Times, serif !default;
|
|
28
|
-
$bodoni: "Bodoni MT", serif !default;
|
|
29
|
-
$calisto: "Calisto MT", serif !default;
|
|
30
|
-
$garamond: Garamond, serif !default;
|
|
31
|
-
|
|
32
|
-
$global-font-family: $sans-serif !default;
|
|
33
|
-
$header-font-family: $sans-serif !default;
|
|
34
|
-
$caption-font-family: $serif !default;
|
|
35
|
-
|
|
36
|
-
/* type scale */
|
|
37
|
-
$type-size-1: 2.441em !default; // ~39.056px
|
|
38
|
-
$type-size-2: 1.953em !default; // ~31.248px
|
|
39
|
-
$type-size-3: 1.563em !default; // ~25.008px
|
|
40
|
-
$type-size-4: 1.25em !default; // ~20px
|
|
41
|
-
$type-size-5: 1em !default; // ~16px
|
|
42
|
-
$type-size-6: 0.75em !default; // ~12px
|
|
43
|
-
$type-size-7: 0.6875em !default; // ~11px
|
|
44
|
-
$type-size-8: 0.625em !default; // ~10px
|
|
45
|
-
|
|
46
|
-
/* headline scale */
|
|
47
|
-
$h-size-1: 1.563em !default; // ~25.008px
|
|
48
|
-
$h-size-2: 1.25em !default; // ~20px
|
|
49
|
-
$h-size-3: 1.125em !default; // ~18px
|
|
50
|
-
$h-size-4: 1.0625em !default; // ~17px
|
|
51
|
-
$h-size-5: 1.03125em !default; // ~16.5px
|
|
52
|
-
$h-size-6: 1em !default; // ~16px
|
|
53
|
-
|
|
54
|
-
/*
|
|
55
|
-
Colors
|
|
56
|
-
========================================================================== */
|
|
57
|
-
|
|
58
|
-
$gray: #7a8288 !default;
|
|
59
|
-
$dark-gray: mix(#000, $gray, 50%) !default;
|
|
60
|
-
$darker-gray: mix(#000, $gray, 60%) !default;
|
|
61
|
-
$light-gray: mix(#fff, $gray, 50%) !default;
|
|
62
|
-
$lighter-gray: mix(#fff, $gray, 90%) !default;
|
|
63
|
-
|
|
64
|
-
$background-color: #fff !default;
|
|
65
|
-
$code-background-color: #fafafa !default;
|
|
66
|
-
$code-background-color-dark: $light-gray !default;
|
|
67
|
-
$text-color: $dark-gray !default;
|
|
68
|
-
$muted-text-color: mix(#fff, $text-color, 20%) !default;
|
|
69
|
-
$border-color: $lighter-gray !default;
|
|
70
|
-
$form-background-color: $lighter-gray !default;
|
|
71
|
-
$footer-background-color: $lighter-gray !default;
|
|
72
|
-
|
|
73
|
-
$primary-color: #6f777d !default;
|
|
74
|
-
$success-color: #3fa63f !default;
|
|
75
|
-
$warning-color: #d67f05 !default;
|
|
76
|
-
$danger-color: #ee5f5b !default;
|
|
77
|
-
$info-color: #3b9cba !default;
|
|
78
|
-
$focus-color: $primary-color !default;
|
|
79
|
-
$active-color: mix(#fff, $primary-color, 80%) !default;
|
|
80
|
-
|
|
81
|
-
/* YIQ color contrast */
|
|
82
|
-
$yiq-contrasted-dark-default: $dark-gray !default;
|
|
83
|
-
$yiq-contrasted-light-default: #fff !default;
|
|
84
|
-
$yiq-contrasted-threshold: 175 !default;
|
|
85
|
-
$yiq-debug: false !default;
|
|
86
|
-
|
|
87
|
-
/* links */
|
|
88
|
-
$link-color: mix(#000, $info-color, 20%) !default;
|
|
89
|
-
$link-color-hover: mix(#000, $link-color, 25%) !default;
|
|
90
|
-
$link-color-visited: mix(#fff, $link-color, 15%) !default;
|
|
91
|
-
$masthead-link-color: $primary-color !default;
|
|
92
|
-
$masthead-link-color-hover: mix(#000, $primary-color, 25%) !default;
|
|
93
|
-
$navicon-link-color-hover: mix(#fff, $primary-color, 75%) !default;
|
|
94
|
-
|
|
95
|
-
/* notices */
|
|
96
|
-
$notice-background-mix: 80% !default;
|
|
97
|
-
$code-notice-background-mix: 90% !default;
|
|
98
|
-
|
|
99
|
-
// Base16 syntax palette: see core/_syntax.scss (single source).
|
|
100
|
-
|
|
101
|
-
/*
|
|
102
|
-
Breakpoints
|
|
103
|
-
========================================================================== */
|
|
104
|
-
|
|
105
|
-
$small: 600px !default;
|
|
106
|
-
$medium: 768px !default;
|
|
107
|
-
$medium-wide: 900px !default;
|
|
108
|
-
$large: 1024px !default;
|
|
109
|
-
$x-large: 1280px !default;
|
|
110
|
-
$max-width: $x-large !default;
|
|
111
|
-
|
|
112
|
-
/*
|
|
113
|
-
Grid
|
|
114
|
-
========================================================================== */
|
|
115
|
-
|
|
116
|
-
$right-sidebar-width-narrow: 200px !default;
|
|
117
|
-
$right-sidebar-width: 300px !default;
|
|
118
|
-
$right-sidebar-width-wide: 400px !default;
|
|
119
|
-
|
|
120
|
-
/*
|
|
121
|
-
Other
|
|
122
|
-
========================================================================== */
|
|
123
|
-
|
|
124
|
-
$border-radius: 4px !default;
|
|
125
|
-
$box-shadow: 0 1px 1px rgba(0, 0, 0, 0.125) !default;
|
|
126
|
-
$nav-height: 2em !default;
|
|
127
|
-
$nav-toggle-height: 2rem !default;
|
|
128
|
-
$navicon-width: 1.5rem !default;
|
|
129
|
-
$navicon-height: 0.25rem !default;
|
|
130
|
-
$global-transition: all 0.2s ease-in-out !default;
|
|
131
|
-
$intro-transition: intro 0.3s both !default;
|
|
132
|
-
|
|
133
|
-
|
|
5
|
+
// Bootstrap `!default` override surface for a from-source Bootstrap build (see
|
|
6
|
+
// assets/css/theme-npm-entry.scss / `npm run css:bootstrap`). The legacy
|
|
7
|
+
// "Minimal Mistakes" heritage variables (type scales, $gray/$primary-color
|
|
8
|
+
// palette, $small/$medium breakpoints, $right-sidebar-width, $nav-* sizes) and
|
|
9
|
+
// the unused `$bd-*` Local-docs colors were removed — they were dead (consumed
|
|
10
|
+
// by nothing) and predated the --zer0-* token layer, which is now the single
|
|
11
|
+
// source of design tokens. See _sass/tokens/* and _sass/theme/*.
|
|
134
12
|
|
|
135
13
|
// scss-docs-start border-variables
|
|
136
14
|
$border-width: 1px !default;
|
|
@@ -391,19 +269,6 @@ $container-max-widths: (
|
|
|
391
269
|
|
|
392
270
|
$variable-prefix: bs- !default;
|
|
393
271
|
|
|
394
|
-
// stylelint-disable scss/dollar-variable-default
|
|
395
|
-
|
|
396
|
-
// Local docs variables
|
|
397
|
-
$bd-purple: #563d7c;
|
|
398
|
-
$bd-purple-bright: lighten(saturate($bd-purple, 5%), 15%); // stylelint-disable-line function-disallowed-list
|
|
399
|
-
$bd-purple-light: lighten(saturate($bd-purple, 5%), 45%); // stylelint-disable-line function-disallowed-list
|
|
400
|
-
$bd-dark: #2a2730;
|
|
401
|
-
$bd-download: #ffe484;
|
|
402
|
-
$bd-info: #5bc0de;
|
|
403
|
-
$bd-warning: #f0ad4e;
|
|
404
|
-
$bd-danger: #d9534f;
|
|
405
|
-
$dropdown-active-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='#292b2c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/></svg>");
|
|
406
|
-
$sidebar-collapse-icon: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'><path fill='none' stroke='rgba(0,0,0,.5)' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M5 14l6-6-6-6'/></svg>");
|
|
407
272
|
|
|
408
273
|
|
|
409
274
|
// scss-docs-start navbar-theme-variables
|