jekyll-theme-zer0 1.9.3 → 1.9.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b051281ebe1b6e661a6ce5792ba471aac968cd7fed4e16f3a9e1b7580e38a2b0
4
- data.tar.gz: 4879cab429f2756354ae26011d263e1e7b62b872f18a1f37d8686c6f7d277125
3
+ metadata.gz: d5ec79b13a1fc79be9bfd64e7c5bb4e715053ebe5fefc937583a0ab6f257cb5e
4
+ data.tar.gz: 4bc8f7f55ffe8f3bc635ad2fda1f35e6f1293e4e28bf72dba22e23aaa03ddad3
5
5
  SHA512:
6
- metadata.gz: 4c60a06c24d84d69999acbe005325e24567670388bafb84e12c0b32ee5c5c7653ba9f4c4823faeafadbd3ce27f476938b365962496bfc3ae914180f1efb0e550
7
- data.tar.gz: f27e32fc5257b0077fec453d1c2b9539899750b3ae76b12579b0f5e58a8b5fb32d3d5db1902ec664c3a4366dc082a93f1bd6d61ad8c98c8fb0e99914ec242260
6
+ metadata.gz: 96ee2f364e10cb68440a73296bfb7d12abbe9adfcd3ed37da2d7a9a3cc29ea950f5f43f7708a0b8f8bd89ce6d1f0af1f73d0860d112068df92d90ce26cfb564a
7
+ data.tar.gz: bf0481c66503d2051aae916237815b813f15f940b884b444f69c569762cd2a897bb21556a72c1b7e589d68aa6642a3ad60c327c40a052b7d55c869498e01ff16
data/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.9.5] - 2026-05-30
4
+
5
+ ### Changed
6
+ - Version bump: patch release
7
+
8
+ ### Commits in this release
9
+ - d4e1a789 fix(skins): remove contrast/dark skins, set air as default, improve link contrast
10
+
11
+
12
+ ## [1.9.4] - 2026-05-30
13
+
14
+ ### Changed
15
+ - **Skins**: Removed `contrast` and `dark` skins; `air` is now the default skin
16
+ - **Accessibility**: Rewrote per-skin link and hover colors to meet WCAG AA (≥4.5:1) contrast in both light and dark mode — all 7 remaining skins now use a darker brand tone for light-mode links and a lighter accent tone for dark-mode links
17
+ - `_config.yml`: `theme_skin` default changed from `"dark"` to `"air"`
18
+
3
19
  ## [1.9.3] - 2026-05-30
4
20
 
5
21
  ### Changed
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
  title: zer0-mistakes
3
3
  sub-title: AI-Native Jekyll Theme
4
4
  description: AI-native Jekyll theme for GitHub Pages — Docker-first development, AI-powered installation, multi-agent integration (Copilot, Codex, Cursor, Claude), AI preview-image generation, and AIEO content optimization with Bootstrap 5.3.
5
- version: 1.9.3
5
+ version: 1.9.5
6
6
  layout: landing
7
7
  tags:
8
8
  - jekyll
@@ -20,7 +20,7 @@ categories:
20
20
  - bootstrap
21
21
  - ai-tooling
22
22
  created: 2024-02-10T23:51:11.480Z
23
- lastmod: 2026-05-30T19:01:55.000Z
23
+ lastmod: 2026-05-30T19:57:46.000Z
24
24
  draft: false
25
25
  permalink: /
26
26
  slug: zer0
@@ -862,7 +862,7 @@ git push origin feature/awesome-feature
862
862
 
863
863
  | Metric | Value |
864
864
  |--------|-------|
865
- | **Current Version** | 1.9.3 ([RubyGems](https://rubygems.org/gems/jekyll-theme-zer0), [CHANGELOG](/CHANGELOG)) |
865
+ | **Current Version** | 1.9.5 ([RubyGems](https://rubygems.org/gems/jekyll-theme-zer0), [CHANGELOG](/CHANGELOG)) |
866
866
  | **Documented Features** | 43 ([Feature Registry](https://github.com/bamr87/zer0-mistakes/blob/main/_data/features.yml)) |
867
867
  | **Setup Time** | 2-5 minutes ([install.sh benchmarks](https://github.com/bamr87/zer0-mistakes/blob/main/install.sh)) |
868
868
  | **Documentation Pages** | 70+ ([browse docs](/pages/)) |
@@ -917,6 +917,6 @@ And these AI partners that make zer0-mistakes truly AI-native:
917
917
 
918
918
  **Built with ❤️ — and a little help from our AI partners — for the Jekyll community**
919
919
 
920
- **v1.9.3** • [Changelog](CHANGELOG.md) • [License](LICENSE) • [Contributing](CONTRIBUTING.md) • [AI Agent Guide](AGENTS.md)
920
+ **v1.9.5** • [Changelog](CHANGELOG.md) • [License](LICENSE) • [Contributing](CONTRIBUTING.md) • [AI Agent Guide](AGENTS.md)
921
921
 
922
922
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- generated_at: '2026-05-29 00:59:17'
2
+ generated_at: '2026-05-30 19:26:05'
3
3
  overview:
4
4
  total_posts: 25
5
5
  total_pages: 148
@@ -7,8 +7,8 @@ overview:
7
7
  total_categories: 55
8
8
  total_tags: 254
9
9
  total_authors: 5
10
- total_words: 106994
11
- average_words_per_post: 618.5
10
+ total_words: 106650
11
+ average_words_per_post: 616.5
12
12
  published: 173
13
13
  drafts: 14
14
14
  categories:
@@ -750,7 +750,7 @@ word_statistics:
750
750
  type: post
751
751
  title: 'Urban Resilience: How Cities Prepare for Extreme Heat'
752
752
  README.md:
753
- words: 6370
753
+ words: 5978
754
754
  type: page
755
755
  title: zer0-mistakes
756
756
  STATS_ENHANCEMENT_SUMMARY.md:
@@ -1226,7 +1226,7 @@ word_statistics:
1226
1226
  type: page
1227
1227
  title: AGENTS
1228
1228
  CHANGELOG.md:
1229
- words: 16978
1229
+ words: 17026
1230
1230
  type: page
1231
1231
  title: CHANGELOG
1232
1232
  CODE_OF_CONDUCT.md:
@@ -50,26 +50,6 @@ skins:
50
50
  pattern: "assets/backgrounds/patterns/aqua.svg"
51
51
  noise: "assets/backgrounds/noise/aqua.svg"
52
52
 
53
- contrast:
54
- label: "Contrast"
55
- colors:
56
- primary: "#000000"
57
- secondary: "#ffffff"
58
- accent: "#ffcc00"
59
- gradient: "assets/backgrounds/gradients/contrast.svg"
60
- pattern: "assets/backgrounds/patterns/contrast.svg"
61
- noise: "assets/backgrounds/noise/contrast.svg"
62
-
63
- dark:
64
- label: "Dark"
65
- colors:
66
- primary: "#1a1a2e"
67
- secondary: "#16213e"
68
- accent: "#0f3460"
69
- gradient: "assets/backgrounds/gradients/dark.svg"
70
- pattern: "assets/backgrounds/patterns/dark.svg"
71
- noise: "assets/backgrounds/noise/dark.svg"
72
-
73
53
  dirt:
74
54
  label: "Dirt"
75
55
  colors:
@@ -5,12 +5,10 @@
5
5
  order:
6
6
  - air
7
7
  - aqua
8
- - contrast
9
- - dark
10
8
  - dirt
11
9
  - neon
12
10
  - mint
13
11
  - plum
14
12
  - sunrise
15
13
 
16
- default: dark
14
+ default: air
@@ -6,25 +6,39 @@
6
6
  // SVG backgrounds. Color values mirror _data/theme_backgrounds.yml.
7
7
  // ==========================================================================
8
8
 
9
- @mixin zer0-skin-palette($brand, $brand-rgb, $accent, $accent-rgb: null) {
9
+ // $link-light / $link-light-hover link colors for light mode; should reach
10
+ // WCAG AA (≥4.5:1) against a white/near-white body background.
11
+ // $link-dark / $link-dark-hover — link colors for dark mode; should reach
12
+ // WCAG AA (≥4.5:1) against Bootstrap's dark body background (#212529).
13
+ // Falls back to $brand (light) / $accent (dark) when not supplied.
14
+ @mixin zer0-skin-palette(
15
+ $brand, $brand-rgb, $accent, $accent-rgb: null,
16
+ $link-light: null, // WCAG-AA color on white (light mode)
17
+ $link-light-hover: null, // Hover variant in light mode
18
+ $link-dark: null, // WCAG-AA color on dark bg (dark mode)
19
+ $link-dark-hover: null // Hover variant in dark mode
20
+ ) {
21
+ // Resolve: fall back to $brand / $accent when params are omitted
22
+ $_ll: if($link-light != null, $link-light, $brand);
23
+ $_llh: if($link-light-hover != null, $link-light-hover, $_ll);
24
+ $_ld: if($link-dark != null, $link-dark, $accent);
25
+ $_ldh: if($link-dark-hover != null, $link-dark-hover, $_ld);
26
+
10
27
  --zer0-color-primary: #{$brand};
11
28
  --zer0-color-primary-rgb: #{$brand-rgb};
12
29
  --zer0-color-accent: #{$accent};
13
30
  --bs-primary: #{$brand};
14
31
  --bs-primary-rgb: #{$brand-rgb};
15
- --bs-link-color: #{$accent};
16
- --zer0-color-link: #{$accent};
32
+
33
+ // Light-mode link colors (default); dark-mode overrides live in &[data-bs-theme="dark"]
34
+ --bs-link-color: #{$_ll};
35
+ --zer0-color-link: #{$_ll};
36
+ --bs-link-hover-color: #{$_llh};
37
+ --zer0-color-link-hover: #{$_llh};
38
+
17
39
  --zer0-color-border: rgba(#{$brand-rgb}, 0.28);
18
40
  --zer0-shadow-focus: 0 0 0 0.2rem rgba(#{$brand-rgb}, 0.25);
19
41
 
20
- @if $accent-rgb {
21
- --bs-link-hover-color: rgba(#{$accent-rgb}, 0.85);
22
- --zer0-color-link-hover: rgba(#{$accent-rgb}, 0.85);
23
- } @else {
24
- --bs-link-hover-color: #{$accent};
25
- --zer0-color-link-hover: #{$accent};
26
- }
27
-
28
42
  // Subtle brand tint on elevated surfaces (cards, admin header bar)
29
43
  --zer0-color-bg-elevated: color-mix(in srgb, #{$brand} 10%, var(--bs-body-bg));
30
44
  --zer0-color-bg-muted: color-mix(in srgb, #{$brand} 6%, var(--bs-secondary-bg, var(--bs-body-bg)));
@@ -147,49 +161,96 @@
147
161
  .link-primary {
148
162
  color: #{$brand} !important;
149
163
  }
164
+
165
+ // Dark-mode link overrides — switch to lighter tones for contrast on dark bg
166
+ &[data-bs-theme="dark"] {
167
+ --bs-link-color: #{$_ld};
168
+ --zer0-color-link: #{$_ld};
169
+ --bs-link-hover-color: #{$_ldh};
170
+ --zer0-color-link-hover: #{$_ldh};
171
+ }
150
172
  }
151
173
 
174
+ // air — steel blue
175
+ // Light: #1e5fa8 (≈6.5:1 on white) / Dark: #b8d4e3 (≈8.5:1 on #212529)
152
176
  [data-theme-skin="air"] {
153
- @include zer0-skin-palette(#6fa8dc, "111, 168, 220", #b8d4e3);
177
+ @include zer0-skin-palette(
178
+ #6fa8dc, "111, 168, 220", #b8d4e3,
179
+ $link-light: #1e5fa8,
180
+ $link-light-hover: #154a87,
181
+ $link-dark: #b8d4e3,
182
+ $link-dark-hover: #d6eaf4
183
+ );
154
184
  }
155
185
 
186
+ // aqua — cyan/teal
187
+ // Light: #006d99 (≈5.5:1 on white) / Dark: #67d7ec (≈8.0:1 on #212529)
156
188
  [data-theme-skin="aqua"] {
157
- @include zer0-skin-palette(#00b4d8, "0, 180, 216", #90e0ef);
158
- }
159
-
160
- [data-theme-skin="contrast"] {
161
- @include zer0-skin-palette(#ffcc00, "255, 204, 0", #ffffff, "255, 255, 255");
162
- }
163
-
164
- // Light-mode override: white accent is invisible on the white/light body bg.
165
- // Apply near-black for links and nav so contrast skin stays readable in light mode.
166
- [data-theme-skin="contrast"]:not([data-bs-theme="dark"]) {
167
- --bs-link-color: #111111;
168
- --zer0-color-link: #111111;
169
- --bs-link-hover-color: rgba(17, 17, 17, 0.7);
170
- --zer0-color-link-hover: rgba(17, 17, 17, 0.7);
171
- }
172
-
173
- [data-theme-skin="dark"] {
174
- @include zer0-skin-palette(#4a90d9, "74, 144, 217", #0f3460);
189
+ @include zer0-skin-palette(
190
+ #00b4d8, "0, 180, 216", #90e0ef,
191
+ $link-light: #006d99,
192
+ $link-light-hover: #005577,
193
+ $link-dark: #67d7ec,
194
+ $link-dark-hover: #9ae8f5
195
+ );
175
196
  }
176
197
 
198
+ // dirt — earthy gold/brown
199
+ // Light: #7a5a10 (≈5.0:1 on white) / Dark: #e0b882 (≈7.0:1 on #212529)
177
200
  [data-theme-skin="dirt"] {
178
- @include zer0-skin-palette(#8b6914, "139, 105, 20", #d4a574);
201
+ @include zer0-skin-palette(
202
+ #8b6914, "139, 105, 20", #d4a574,
203
+ $link-light: #7a5a10,
204
+ $link-light-hover: #5c430c,
205
+ $link-dark: #e0b882,
206
+ $link-dark-hover: #f0cea0
207
+ );
179
208
  }
180
209
 
210
+ // neon — electric purple/blue
211
+ // Light: #5e22cc (≈5.5:1 on white) / Dark: #8ab4ff (≈6.0:1 on #212529)
181
212
  [data-theme-skin="neon"] {
182
- @include zer0-skin-palette(#8338ec, "131, 56, 236", #3a86ff, "58, 134, 255");
213
+ @include zer0-skin-palette(
214
+ #8338ec, "131, 56, 236", #3a86ff, "58, 134, 255",
215
+ $link-light: #5e22cc,
216
+ $link-light-hover: #4a1aa3,
217
+ $link-dark: #8ab4ff,
218
+ $link-dark-hover: #b0ccff
219
+ );
183
220
  }
184
221
 
222
+ // mint — forest green
223
+ // Light: #2d8059 (≈5.5:1 on white) / Dark: #80cfa8 (≈7.5:1 on #212529)
185
224
  [data-theme-skin="mint"] {
186
- @include zer0-skin-palette(#52b788, "82, 183, 136", #95d5b2);
225
+ @include zer0-skin-palette(
226
+ #52b788, "82, 183, 136", #95d5b2,
227
+ $link-light: #2d8059,
228
+ $link-light-hover: #1f5a3b,
229
+ $link-dark: #80cfa8,
230
+ $link-dark-hover: #a8e6c4
231
+ );
187
232
  }
188
233
 
234
+ // plum — deep violet
235
+ // Light: #6b2477 (≈8.0:1 on white) / Dark: #d4a0f5 (≈7.0:1 on #212529)
189
236
  [data-theme-skin="plum"] {
190
- @include zer0-skin-palette(#c77dff, "199, 125, 255", #812f85);
237
+ @include zer0-skin-palette(
238
+ #c77dff, "199, 125, 255", #812f85,
239
+ $link-light: #6b2477,
240
+ $link-light-hover: #4e1958,
241
+ $link-dark: #d4a0f5,
242
+ $link-dark-hover: #e8c8ff
243
+ );
191
244
  }
192
245
 
246
+ // sunrise — warm terracotta/orange
247
+ // Light: #b54418 (≈5.5:1 on white) / Dark: #ffa87a (≈7.0:1 on #212529)
193
248
  [data-theme-skin="sunrise"] {
194
- @include zer0-skin-palette(#ff6b35, "255, 107, 53", #f7c59f);
249
+ @include zer0-skin-palette(
250
+ #ff6b35, "255, 107, 53", #f7c59f,
251
+ $link-light: #b54418,
252
+ $link-light-hover: #8f3512,
253
+ $link-dark: #ffa87a,
254
+ $link-dark-hover: #ffd0b0
255
+ );
195
256
  }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-theme-zer0
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.3
4
+ version: 1.9.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amr Abdel