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.
Files changed (86) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +395 -0
  3. data/README.md +27 -19
  4. data/_data/authors.yml +154 -5
  5. data/_data/backlog.yml +5 -5
  6. data/_data/content_statistics.yml +273 -297
  7. data/_data/features.yml +4 -25
  8. data/_data/navigation/README.md +24 -0
  9. data/_data/navigation/about.yml +2 -0
  10. data/_data/navigation/main.yml +2 -7
  11. data/_data/roadmap.yml +86 -12
  12. data/_includes/components/author-avatar-url.html +28 -0
  13. data/_includes/components/author-bio.html +86 -0
  14. data/_includes/components/author-card.html +184 -121
  15. data/_includes/components/author-eeat.html +10 -4
  16. data/_includes/components/info-section.html +1 -1
  17. data/_includes/components/mermaid.html +0 -3
  18. data/_includes/components/post-card.html +19 -9
  19. data/_includes/content/giscus.html +3 -2
  20. data/_includes/core/footer-fabs.html +28 -0
  21. data/_includes/core/footer.html +7 -17
  22. data/_includes/core/head.html +2 -2
  23. data/_includes/navigation/breadcrumbs.html +20 -2
  24. data/_includes/navigation/local-graph.html +18 -2
  25. data/_includes/obsidian/full-graph.html +4 -6
  26. data/_layouts/article.html +44 -74
  27. data/_layouts/author.html +274 -0
  28. data/_layouts/authors.html +55 -0
  29. data/_layouts/news.html +3 -3
  30. data/_layouts/note.html +21 -6
  31. data/_layouts/notebook.html +21 -6
  32. data/_layouts/root.html +31 -17
  33. data/_layouts/section.html +3 -3
  34. data/_plugins/author_pages_generator.rb +121 -0
  35. data/_sass/components/_author.scss +219 -0
  36. data/_sass/components/_content-tables.scss +16 -1
  37. data/_sass/components/_notes-index.scss +102 -0
  38. data/_sass/components/_search-modal.scss +40 -0
  39. data/_sass/components/_ui-enhancements.scss +570 -0
  40. data/_sass/core/_docs-code-examples.scss +463 -0
  41. data/_sass/core/_docs-layout.scss +0 -453
  42. data/_sass/core/_navbar.scss +253 -0
  43. data/_sass/core/_sidebar-extras.scss +79 -0
  44. data/_sass/core/_toc.scss +87 -0
  45. data/_sass/core/_variables.scss +7 -142
  46. data/_sass/custom.scss +24 -1122
  47. data/_sass/layouts/_global-chrome.scss +59 -0
  48. data/assets/css/main.scss +19 -2
  49. data/assets/js/author-profile.js +190 -0
  50. data/assets/js/modules/navigation/navbar.js +104 -0
  51. data/assets/js/obsidian-graph.js +2 -2
  52. data/assets/js/obsidian-local-graph.js +11 -5
  53. data/assets/vendor/cytoscape/cytoscape.min.js +32 -0
  54. data/scripts/README.md +39 -0
  55. data/scripts/bin/validate +11 -1
  56. data/scripts/dev/css-diff.sh +49 -0
  57. data/scripts/dev/shot.js +37 -0
  58. data/scripts/features/generate-preview-images +110 -6
  59. data/scripts/features/pixelate-preview-images +126 -0
  60. data/scripts/features/pixelate_images.py +662 -0
  61. data/scripts/github-setup.sh +0 -0
  62. data/scripts/lib/preview_generator.py +47 -3
  63. data/scripts/pixelate-preview-images.sh +12 -0
  64. data/scripts/test/integration/auto-version +10 -8
  65. data/scripts/test/lib/run_tests.sh +2 -0
  66. data/scripts/test/lib/test_content_review.sh +205 -0
  67. data/scripts/test/lib/test_pixelate_images.sh +108 -0
  68. metadata +25 -20
  69. data/_data/hub.yml +0 -68
  70. data/_data/hub_index.yml +0 -203
  71. data/_data/navigation/hub.yml +0 -110
  72. data/assets/vendor/font-awesome/css/all.min.css +0 -9
  73. data/assets/vendor/font-awesome/webfonts/fa-brands-400.ttf +0 -0
  74. data/assets/vendor/font-awesome/webfonts/fa-brands-400.woff2 +0 -0
  75. data/assets/vendor/font-awesome/webfonts/fa-regular-400.ttf +0 -0
  76. data/assets/vendor/font-awesome/webfonts/fa-regular-400.woff2 +0 -0
  77. data/assets/vendor/font-awesome/webfonts/fa-solid-900.ttf +0 -0
  78. data/assets/vendor/font-awesome/webfonts/fa-solid-900.woff2 +0 -0
  79. data/assets/vendor/font-awesome/webfonts/fa-v4compatibility.ttf +0 -0
  80. data/assets/vendor/font-awesome/webfonts/fa-v4compatibility.woff2 +0 -0
  81. data/assets/vendor/jquery/jquery-3.7.1.min.js +0 -2
  82. data/scripts/lib/hub.rb +0 -208
  83. data/scripts/provision-org-sites.rb +0 -252
  84. data/scripts/provision-org-sites.sh +0 -23
  85. data/scripts/sync-hub-metadata.rb +0 -184
  86. 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
+ }
@@ -2,135 +2,13 @@
2
2
  Variables
3
3
  ========================================================================== */
4
4
 
5
- /*
6
- Typography
7
- ========================================================================== */
8
-
9
- $doc-font-size: 16 !default;
10
-
11
- /* paragraph indention */
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