jekyll-theme-zer0 0.10.6 → 0.15.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 (65) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +428 -0
  3. data/README.md +79 -31
  4. data/_data/README.md +419 -17
  5. data/_data/generate_statistics.rb +216 -9
  6. data/_data/generate_statistics.sh +106 -0
  7. data/_data/github-actions-example.yml +210 -0
  8. data/_data/navigation/about.yml +39 -11
  9. data/_data/navigation/docs.yml +53 -23
  10. data/_data/navigation/home.yml +27 -9
  11. data/_data/navigation/main.yml +27 -8
  12. data/_data/navigation/posts.yml +22 -6
  13. data/_data/navigation/quickstart.yml +19 -6
  14. data/_data/posts_organization.yml +153 -0
  15. data/_data/prerequisites.yml +112 -0
  16. data/_data/statistics_config.yml +203 -0
  17. data/_data/ui-text.yml +321 -0
  18. data/_data/update_statistics.sh +126 -0
  19. data/_includes/README.md +2 -0
  20. data/_includes/components/js-cdn.html +4 -1
  21. data/_includes/components/post-card.html +2 -11
  22. data/_includes/components/preview-image.html +32 -0
  23. data/_includes/content/intro.html +9 -10
  24. data/_includes/core/header.html +14 -0
  25. data/_includes/navigation/sidebar-categories.html +20 -9
  26. data/_includes/navigation/sidebar-folders.html +8 -7
  27. data/_includes/navigation/sidebar-right.html +16 -10
  28. data/_layouts/blog.html +15 -45
  29. data/_layouts/category.html +4 -24
  30. data/_layouts/collection.html +2 -12
  31. data/_layouts/default.html +1 -1
  32. data/_layouts/journals.html +2 -12
  33. data/_layouts/notebook.html +296 -0
  34. data/_sass/core/_docs.scss +1 -1
  35. data/_sass/custom.scss +54 -17
  36. data/_sass/notebooks.scss +458 -0
  37. data/assets/images/notebooks/test-notebook_files/test-notebook_4_0.png +0 -0
  38. data/assets/js/sidebar.js +511 -0
  39. data/scripts/README.md +131 -105
  40. data/scripts/analyze-commits.sh +9 -311
  41. data/scripts/bin/build +22 -22
  42. data/scripts/build +7 -111
  43. data/scripts/convert-notebooks.sh +415 -0
  44. data/scripts/features/validate_preview_urls.py +500 -0
  45. data/scripts/fix-markdown-format.sh +8 -262
  46. data/scripts/generate-preview-images.sh +7 -787
  47. data/scripts/install-preview-generator.sh +8 -528
  48. data/scripts/lib/README.md +5 -5
  49. data/scripts/lib/changelog.sh +89 -57
  50. data/scripts/lib/gem.sh +19 -7
  51. data/scripts/release +7 -236
  52. data/scripts/setup.sh +9 -153
  53. data/scripts/test/lib/run_tests.sh +1 -2
  54. data/scripts/test-auto-version.sh +7 -256
  55. data/scripts/test-mermaid.sh +7 -287
  56. data/scripts/test.sh +9 -154
  57. metadata +16 -10
  58. data/scripts/features/preview_generator.py +0 -646
  59. data/scripts/lib/test/run_tests.sh +0 -140
  60. data/scripts/lib/test/test_changelog.sh +0 -87
  61. data/scripts/lib/test/test_gem.sh +0 -68
  62. data/scripts/lib/test/test_git.sh +0 -82
  63. data/scripts/lib/test/test_validation.sh +0 -72
  64. data/scripts/lib/test/test_version.sh +0 -96
  65. data/scripts/version.sh +0 -178
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3eeba0bbdc165f553bcbf3f7f2b014336e1894f6cff75acf7e37c9583fb3cc82
4
- data.tar.gz: 5daa6b3832331353b87c1deec07580bb4a7864982efb4987afbfd9d65111dd8e
3
+ metadata.gz: 62704de5aed76c7000c418b93977002ded56b588a49183c4548c315bd2b40fdd
4
+ data.tar.gz: acfd3a0d47a33a99af964fe2019e0128bbfb50903640658671bb6090b3b38495
5
5
  SHA512:
6
- metadata.gz: acbe6651ea5f84e38430e4688fa26a6cbc957cabf1b1cde37d1b1e8f96662e47585654c7d5e2a85486c1ed6cb110134eb4c0d71028b4bb038b0d21784709c5fc
7
- data.tar.gz: a97c013488173951e4d44359594d48f1529c1909668a4d2657136d4e48be5d7b693fff305daf87e44db93440a9efffb6dfeb6c2b71dd7e6298f2d79c50dfc393
6
+ metadata.gz: 8db972fbd75ed902880434ab1e8a79ba24ae276492cebce8987cda3ad085b0aeea26fc2174e8cf72594896884c5d1b3b08f816b97a0d1536044d51afa52c2d5e
7
+ data.tar.gz: 839bbeb76675da98c6136c952722154249264fe4998003b4c5e2152401855dcea16ac31864f89e66a30236589e41ecc789361378fd3308a8c529cd8315c67a0f
data/CHANGELOG.md CHANGED
@@ -1,5 +1,433 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.15.2] - 2025-12-19
4
+
5
+ ### Changed
6
+ - Version bump: patch release
7
+
8
+ ### Commits in this release
9
+ - e1342ab Add configuration files for content organization, prerequisites, statistics, and UI text
10
+ - 366e8a2 chore(deps): update Ruby gem dependencies (#16)
11
+
12
+
13
+ ## [0.15.1] - 2025-12-14
14
+
15
+ ### Changed
16
+ - update test runner documentation for Bash 3.2 compatibility
17
+ - update version to 0.15.0 and enhance documentation with new features
18
+
19
+ ### Fixed
20
+ - refactor changelog.sh for Bash 3.2 compatibility (macOS default)
21
+
22
+ ### Other
23
+ - document Bash 3.2 compatibility in automation
24
+ - unfreeze bundler before updating Gemfile.lock in version-bump workflow
25
+ - update Windows Developer Mode instructions and correct spelling errors
26
+ - Social sharing buttons use production URLs instead of localhost
27
+ - update Gemfile.lock for v0.15.0
28
+
29
+
30
+
31
+ ## [0.15.0] - 2025-12-11
32
+
33
+ ### Added
34
+
35
+ - **Documentation: Product Requirements Document** - Comprehensive PRD detailing product vision, goals, and architecture
36
+ - Added `docs/PRD.md` with complete product specifications
37
+ - Includes vision statement, key differentiators, and metrics
38
+ - Documents AI-powered features and privacy-first principles
39
+
40
+ - **Documentation: Sidebar Improvements Summary** - Complete implementation documentation for sidebar enhancements
41
+ - Added `docs/SIDEBAR_IMPROVEMENTS.md` documenting UI/UX modernization
42
+ - Details scroll spy fixes, mobile TOC button positioning
43
+ - Documents responsive design improvements and accessibility features
44
+
45
+ - **Documentation: Theme Version Implementation** - Theme version display system documentation
46
+ - Added `docs/THEME_VERSION_IMPLEMENTATION.md`
47
+ - Documents automatic version extraction from gem specification
48
+ - Explains modal integration and footer access points
49
+
50
+ - **Content: Privacy Policy Page** - GDPR/CCPA compliant privacy policy
51
+ - Added `pages/privacy-policy.md` with comprehensive privacy documentation
52
+ - Details PostHog analytics data collection practices
53
+ - Explains user rights and data protection measures
54
+
55
+ - **Content: Terms of Service Page** - Legal terms for site usage
56
+ - Added `pages/terms-of-service.md`
57
+ - Provides basic terms framework for site operators
58
+
59
+ - **Testing: Notebook Conversion Test Script** - Automated testing for Jupyter notebook conversion
60
+ - Added `test/test-notebook-conversion.sh` for notebook workflow testing
61
+ - Validates Python/nbconvert installation in Docker
62
+ - Tests notebook listing and conversion processes
63
+
64
+ ### Documentation
65
+
66
+ - All new files are fully documented with appropriate frontmatter
67
+ - Privacy policy provides transparency for analytics usage
68
+ - PRD serves as single source of truth for product direction
69
+
70
+ ## [0.14.2] - 2025-12-07
71
+
72
+ ### Changed
73
+ - Version bump: patch release
74
+
75
+ ### Commits in this release
76
+ - 82d7441 fix(build): improve gem info retrieval error handling
77
+ - 67a8e5b fix(ci): remove Ruby 3.0 from test matrix
78
+ - afe057d chore(deps): update Ruby gem dependencies (#11)
79
+ - 64ee1c9 fix(ci): add proper permissions for PR creation
80
+ - 3b55b60 feat(ci): add automated dependency update workflow
81
+ - a3197b3 fix(deps): commit Gemfile.lock for reproducible builds
82
+ - d8188dd fix(docker): install bundler 2.3 to match Gemfile.lock requirement
83
+ - 04d7c26 fix(docker): remove bundle update --bundler that requires existing bundle
84
+
85
+
86
+ ## [0.14.1] - 2025-12-04
87
+
88
+ ### Fixed
89
+
90
+ - **Docker: Bundler Version Compatibility** - Resolved CI/CD build failure
91
+ - Added `bundle update --bundler` step in Dockerfile to auto-update lockfile
92
+ - Allows using latest Bundler (4.0.0) while maintaining dependency stability
93
+ - Preserves all gem versions from `Gemfile.lock`
94
+ - Aligns with project's "zero version pin" philosophy
95
+ - Fixes GitHub Actions "Build (Latest Deps)" workflow failure
96
+
97
+ ## [0.14.0] - 2025-12-01
98
+
99
+ ### Added
100
+
101
+ - **Navigation: Enhanced Sidebar System** - Complete overhaul of sidebar navigation with modern features
102
+ - New `assets/js/sidebar.js` (16KB) with Intersection Observer scroll spy
103
+ - Smooth scrolling to TOC anchors with fixed header offset
104
+ - Keyboard shortcuts: `[` and `]` for section navigation
105
+ - Swipe gestures for mobile (left/right edge detection)
106
+ - Focus management for accessibility
107
+ - `docs/keyboard-navigation.md` - Complete keyboard navigation documentation
108
+
109
+ - **Navigation: Skip-to-Content Link** - Accessibility enhancement in header
110
+ - Visually hidden until focused with Tab key
111
+ - Direct jump to main content bypassing navigation
112
+ - WCAG 2.1 Level AA compliant
113
+
114
+ - **Mobile: TOC Floating Action Button** - Improved mobile table of contents access
115
+ - Repositioned from center-right to bottom-right (90px from bottom)
116
+ - FAB pattern with 56x56px circular button
117
+ - Proper stacking above back-to-top button
118
+ - z-index: 1030 for proper layering
119
+
120
+ ### Changed
121
+
122
+ - **Navigation: Unified Bootstrap Icons** - Standardized icon library across all sidebars
123
+ - Replaced Font Awesome (`fas fa-file-alt`) with Bootstrap Icons (`bi-file-text`)
124
+ - Consistent icon sizing and spacing (me-2 margin)
125
+ - Icons: `bi-folder2-open`, `bi-folder`, `bi-file-earmark-text`, `bi-list-ul`
126
+
127
+ - **Navigation: Scroll Spy Fix** - Corrected scroll tracking in default layout
128
+ - Fixed `data-bs-target` from `toc-content` to `#TableOfContents`
129
+ - Added `data-bs-smooth-scroll="true"` for better UX
130
+ - Added `data-bs-offset="100"` for fixed header compensation
131
+
132
+ - **Navigation: Responsive Sidebar Widths** - Removed hardcoded widths for better responsiveness
133
+ - `sidebar-categories.html`: Changed from `width: 280px` to `w-100`
134
+ - Uses Bootstrap grid system for fluid layouts
135
+ - Improved mobile and tablet compatibility
136
+
137
+ - **Styles: Unified Sidebar Classes** - Consolidated duplicate CSS definitions
138
+ - Removed duplicate `.sidebar` class from `custom.scss`
139
+ - Kept only `.bd-sidebar` in `_docs.scss` for consistency
140
+ - Uncommented z-index (2) for proper TOC stacking
141
+
142
+ - **Styles: Enhanced Active States** - Improved visual feedback for navigation
143
+ - Active TOC links: 600 font-weight, subtle background highlight
144
+ - Category active state: Primary color with background tint
145
+ - Sidebar hover states: Smooth 0.2s transitions
146
+ - Mobile TOC button: Scale transforms on hover/active
147
+
148
+ - **JavaScript: Deferred Loading** - Optimized script loading for better performance
149
+ - Added `defer` attribute to `sidebar.js`
150
+ - Prevents blocking and scroll event conflicts
151
+ - Fixed auto-hide navbar functionality
152
+ - Parallel download with in-order execution
153
+
154
+ - **Accessibility: ARIA Enhancements** - Improved screen reader support
155
+ - Added `role="navigation"` and `aria-label` to TOC
156
+ - Added `aria-controls` to all collapse/offcanvas buttons
157
+ - Improved button accessibility with descriptive labels
158
+ - Better focus management in offcanvas panels
159
+
160
+ ### Fixed
161
+
162
+ - **Critical: Scroll Spy Not Working** - Resolved selector mismatch in default layout
163
+ - Corrected target from `toc-content` to `#TableOfContents`
164
+ - Active section now properly highlights in TOC
165
+ - Smooth scroll with proper offset for fixed headers
166
+
167
+ - **Critical: Mobile Button Conflict** - Fixed TOC and back-to-top button overlap
168
+ - TOC button: moved to `bottom: 90px` from `bottom: 0`
169
+ - Back-to-top button: updated z-index to 1020
170
+ - 14px vertical spacing between buttons
171
+ - No more overlapping on mobile devices
172
+
173
+ - **Critical: Auto-Hide Navbar Broken** - Fixed navbar hiding on scroll
174
+ - Added `defer` attribute to `sidebar.js` script tag
175
+ - Resolved scroll event listener conflicts
176
+ - Both scripts now use requestAnimationFrame optimization
177
+ - Navbar properly hides/shows on scroll
178
+
179
+ - **UI: Icon Library Inconsistency** - Unified icon usage across components
180
+ - Eliminated mixed Font Awesome and Bootstrap Icons usage
181
+ - All components now use Bootstrap Icons exclusively
182
+ - Consistent visual language throughout theme
183
+
184
+ ### Performance
185
+
186
+ - **Intersection Observer Scroll Spy** - 70% reduction in scroll event overhead
187
+ - Replaced scroll events with Intersection Observer API
188
+ - Configurable root margins and thresholds
189
+ - Auto-scrolling TOC to show active link
190
+ - Debounced event handlers (100ms delay)
191
+
192
+ - **Passive Scroll Listeners** - Improved scrolling performance
193
+ - All scroll events use `{ passive: true }` option
194
+ - Prevents scroll jank and layout thrashing
195
+ - Better frame rates on mobile devices
196
+
197
+ ### Documentation
198
+
199
+ - **Guide: Keyboard Navigation** - Comprehensive accessibility documentation
200
+ - Complete shortcut reference table
201
+ - Skip navigation instructions
202
+ - Focus management guidelines
203
+ - Browser compatibility matrix
204
+ - Troubleshooting section
205
+
206
+ - **Technical: Implementation Summary** - Development documentation
207
+ - `SIDEBAR_IMPROVEMENTS.md` with complete implementation details
208
+ - Architecture decisions and patterns
209
+ - Testing checklist and verification steps
210
+ - Future enhancement roadmap
211
+
212
+ ## [0.13.0] - 2025-12-01
213
+
214
+ ### Added
215
+
216
+ - **Navigation: Bootstrap Icons** - Added icons to all main navigation items
217
+ - Quick Start: `bi-rocket-takeoff`
218
+ - Blog: `bi-journal-text`
219
+ - Docs: `bi-journal-bookmark`
220
+ - About: `bi-info-circle`
221
+
222
+ - **Navigation: New Links** - Enhanced navigation structure with additional pages
223
+ - Categories page (`/categories/`)
224
+ - Tags page (`/tags/`)
225
+ - Contact page (`/contact/`)
226
+ - Features page (`/about/features/`)
227
+ - Statistics page (`/about/stats/`)
228
+
229
+ - **Frontmatter CMS: Navigation Data Type** - Enhanced data schema for navigation management
230
+ - Added optional `description` field for parent and child links
231
+ - Added optional `icon` field for sublinks
232
+ - Registered all 6 navigation files (main, quickstart, about, docs, posts, home)
233
+ - Improved schema validation with proper required fields
234
+
235
+ ### Changed
236
+
237
+ - **Navigation: Restructured All Files** - Aligned navigation with actual site content
238
+ - `main.yml` - Updated Quick Start, Blog, Docs, and About sections
239
+ - `quickstart.yml` - Added icons to setup steps
240
+ - `docs.yml` - Reorganized into Jekyll, Features, Deployment, Configuration sections
241
+ - `about.yml` - Structured into About, Site Info, Settings, Legal sections
242
+ - `posts.yml` - Fixed icon prefixes (added `bi-`), added descriptions
243
+ - `home.yml` - Added Discover and Connect navigation groups
244
+
245
+ - **Frontmatter: Website Configuration** - Updated preview and website hosts
246
+ - Changed preview host from `localhost:4002` to `localhost:4000`
247
+ - Changed website host from `it-journey.dev` to `zer0-mistakes.com`
248
+
249
+ ### Removed
250
+
251
+ - **Navigation: Dead Link** - Removed orphaned `/zer0/` link from Quick Start menu
252
+ - **Navigation: Unused Entry** - Removed Theme page link (replaced with Features)
253
+
254
+ ### Fixed
255
+
256
+ - **Navigation: Icon Consistency** - Standardized Bootstrap icon class format across all files
257
+ - **Navigation: URL Completeness** - Ensured all top-level navigation items have required URL field
258
+
259
+ ## [0.12.1] - 2025-11-30
260
+
261
+ ### Changed
262
+
263
+ - **Refactored: Scripts Directory Structure** - Consolidated and organized automation scripts
264
+ - Entry point scripts (`build`, `release`) in `scripts/` are now thin wrappers to `scripts/bin/`
265
+ - Test scripts (`test.sh`, `test-auto-version.sh`, `test-mermaid.sh`) forward to `scripts/test/`
266
+ - Utility scripts (`setup.sh`, `analyze-commits.sh`, `fix-markdown-format.sh`) forward to `scripts/utils/`
267
+ - Feature scripts (`generate-preview-images.sh`, `install-preview-generator.sh`) forward to `scripts/features/`
268
+ - Maintains backward compatibility while establishing canonical locations
269
+
270
+ - **Moved: `validate_preview_urls.py`** from `scripts/lib/` to `scripts/features/`
271
+ - Better organization as a feature-specific validator rather than core library
272
+
273
+ - **Updated: Documentation** - Corrected all script path references
274
+ - `scripts/README.md` - New directory structure documentation
275
+ - `scripts/lib/README.md` - Updated test paths
276
+ - `docs/systems/release-automation.md` - Updated test paths
277
+ - `docs/TROUBLESHOOTING.md` - Updated test paths
278
+ - `docs/archive/PHASE_1_COMPLETE.md` - Updated historical references
279
+ - `docs/archive/RELEASE_WORKFLOW_IMPROVEMENTS.md` - Updated historical references
280
+
281
+ ### Removed
282
+
283
+ - **Deleted: `scripts/lib/test/`** - Redundant test directory (tests are in `scripts/test/lib/`)
284
+ - **Deleted: `scripts/features/preview_generator.py`** - Duplicate of `scripts/lib/preview_generator.py`
285
+ - **Deleted: `scripts/version.sh`** - Deprecated (use `scripts/lib/version.sh` or `scripts/bin/release`)
286
+
287
+ ### Fixed
288
+
289
+ - **Fixed: Function ordering in `scripts/bin/build`** - Moved `show_usage()` definition before it's called
290
+
291
+ ## [0.12.0] - 2025-11-30
292
+
293
+ ### Added
294
+
295
+ - **New Component: `preview-image.html`** (`_includes/components/preview-image.html`)
296
+ - Centralized preview image rendering component
297
+ - Consistent handling of absolute paths and external URLs
298
+ - Supports custom classes, styles, and lazy loading
299
+ - Eliminates duplicated image rendering logic across layouts
300
+
301
+ - **New Script: `validate_preview_urls.py`** (`scripts/lib/validate_preview_urls.py`, 400+ lines)
302
+ - Python-based validation for preview image URLs in frontmatter
303
+ - Checks URL format (must start with `/`)
304
+ - Validates image extensions (`.png`, `.jpg`, `.jpeg`, `.gif`, `.webp`, `.svg`)
305
+ - Verifies file existence on disk
306
+ - Detects empty, null, or malformed preview values
307
+ - JSON output support for CI integration
308
+ - Standalone CLI tool with `--verbose`, `--suggestions`, `--list-missing` options
309
+
310
+ - **New Test Category: Content Quality Tests** in Quality Assurance Suite
311
+ - Added `test_preview_image_urls()` function to `test/test_quality.sh`
312
+ - Validates all preview URLs in content frontmatter during test runs
313
+ - Integrated into main test runner with new "📄 Content" category
314
+ - Reports missing files and format errors with suggestions
315
+
316
+ ### Changed
317
+
318
+ - **Refactored: Layout Image Handling** - Simplified preview image logic
319
+ - **`_layouts/blog.html`** - Replaced 5 separate image blocks with `preview-image.html` include
320
+ - **`_layouts/journals.html`** - Unified preview image rendering
321
+ - **`_layouts/category.html`** - Consistent image component usage
322
+ - **`_layouts/collection.html`** - Streamlined image rendering
323
+ - **`_includes/components/post-card.html`** - Uses centralized component
324
+ - **`_includes/content/intro.html`** - Simplified image handling
325
+ - **`index.html`** - Updated to use preview-image component
326
+ - **`posts.html`** - Consistent preview image rendering
327
+ - **`pages/blog.md`** - Updated image handling
328
+
329
+ - **Enhanced: Quality Test Suite** (`test/test_quality.sh`)
330
+ - Added Content Quality Tests section with preview URL validation
331
+ - Updated help text and summary to include content category
332
+ - Extended JSON report generation with content test metrics
333
+
334
+ - **Fixed: Preview URL Paths** - Corrected several preview paths in content
335
+ - `pages/_posts/2024-06-17-wizard-topples-capitalist-dominance-ingeniously.md`
336
+ - `pages/_posts/2025-01-01-getting-started-jekyll.md`
337
+ - `pages/_posts/2025-01-05-web-accessibility-guide.md`
338
+ - `pages/_posts/2025-01-10-bootstrap-5-components.md`
339
+ - `pages/_posts/2025-01-15-docker-jekyll-guide.md`
340
+
341
+ ### Documentation
342
+
343
+ - Updated `_includes/README.md` with `preview-image.html` component documentation
344
+
345
+ ---
346
+
347
+ ## [0.11.0] - 2025-11-30
348
+
349
+ ### Added
350
+
351
+ - **New Feature: Jupyter Notebook Support** - Complete integration for data science and computational content
352
+ - **New Layout: `notebook.html`** (`_layouts/notebook.html`, 294 lines)
353
+ - Dedicated layout for converted notebooks with metadata display
354
+ - Author, date, kernel info, and reading time display
355
+ - Previous/next navigation between notebooks
356
+ - Related notebooks section
357
+ - Schema.org TechArticle markup for SEO
358
+ - Download original `.ipynb` link
359
+ - Giscus comments integration
360
+
361
+ - **New Stylesheet: `notebooks.scss`** (`_sass/notebooks.scss`, 450+ lines)
362
+ - Code cell styling with execution counts
363
+ - Output area formatting (text, images, tables, errors)
364
+ - MathJax equation styling
365
+ - Responsive design with mobile breakpoints (@media max-width: 768px)
366
+ - Dark mode support
367
+ - Bootstrap 5 variable integration
368
+
369
+ - **New Conversion Script: `convert-notebooks.sh`** (`scripts/convert-notebooks.sh`, 408 lines)
370
+ - Converts `.ipynb` files to Jekyll-compatible Markdown
371
+ - Extracts images to `/assets/images/notebooks/`
372
+ - Generates proper front matter with title, description, date, permalink
373
+ - JSON-based metadata parsing to avoid delimiter issues
374
+ - CLI options: `--force`, `--dry-run`, `--list`, `--clean`, `--verbose`
375
+ - Follows project script patterns with colored logging
376
+
377
+ - **New GitHub Actions Workflow** (`.github/workflows/convert-notebooks.yml`, 220+ lines)
378
+ - Triggers on push/PR to `pages/_notebooks/**.ipynb`
379
+ - Dry-run mode for pull requests
380
+ - Automatic conversion and commit on main/develop branches
381
+ - Validation job checks markdown and image references
382
+ - Commits with `[skip ci]` to prevent loops
383
+
384
+ - **New Documentation** (`docs/JUPYTER_NOTEBOOKS.md`)
385
+ - Complete feature documentation
386
+ - Usage examples and workflow
387
+ - Troubleshooting guide
388
+ - Architecture explanation
389
+ - File manifest
390
+
391
+ - **New Test Suite** (`test-notebook-conversion.sh`, 150+ lines)
392
+ - 8-step automated validation
393
+ - Docker status, Python/nbconvert checks
394
+ - Conversion validation
395
+ - Front matter and image verification
396
+
397
+ - **Makefile Targets** - Added notebook conversion commands
398
+ - `convert-notebooks` - Convert all notebooks
399
+ - `convert-notebooks-dry-run` - Preview conversions
400
+ - `convert-notebooks-force` - Force reconvert all
401
+ - `list-notebooks` - List available notebooks
402
+ - `clean-notebooks` - Remove converted markdown
403
+
404
+ - **Sample Content** (`pages/_notebooks/test-notebook.ipynb`)
405
+ - Comprehensive demonstration notebook with 10 cells
406
+ - LaTeX equations, matplotlib plots, pandas DataFrames
407
+ - Fibonacci function example
408
+ - All outputs rendered (text, images, HTML tables)
409
+
410
+ ### Changed
411
+
412
+ - **Enhanced: Docker Environment** (`docker/Dockerfile`)
413
+ - Added Python 3.13.5, pip, jupyter, nbconvert
414
+ - Used `--break-system-packages` flag for PEP 668 compatibility
415
+ - Multi-stage build preserves Python tooling
416
+
417
+ - **Enhanced: Jekyll Configuration** (`_config.yml`)
418
+ - Added notebooks collection defaults
419
+ - Set `layout: notebook`, `jupyter_metadata: true`
420
+ - Configured sidebar navigation for notebooks
421
+
422
+ - **Enhanced: Sass Import** (`_sass/custom.scss`)
423
+ - Added `@import "notebooks";` at top of file
424
+ - Ensures notebook styles load properly
425
+
426
+ - **Documentation** (`README.md`)
427
+ - Added "Jupyter Notebook Support" feature section
428
+ - Installation and usage examples
429
+ - Feature highlights: automatic conversion, output rendering, GitHub Actions
430
+
3
431
  ## [0.10.6] - 2025-11-29
4
432
 
5
433
  ### Changed
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
  title: zer0-mistakes
3
3
  sub-title: Jekyll Theme
4
4
  description: Docker-optimized Jekyll theme with AI-powered installation automation and comprehensive error handling.
5
- version: 0.10.3
5
+ version: 0.15.0
6
6
  layout: landing
7
7
  tags:
8
8
  - jekyll
@@ -32,8 +32,6 @@ hero_image: /assets/images/wizard-on-journey.png
32
32
  excerpt: "Professional Jekyll theme with automated installation, comprehensive error handling, and zero-configuration Docker development"
33
33
  ---
34
34
 
35
- <div align="center">
36
-
37
35
  [![pages-build-deployment](https://github.com/bamr87/zer0-mistakes/actions/workflows/pages/pages-build-deployment/badge.svg)](https://github.com/bamr87/zer0-mistakes/actions/workflows/pages/pages-build-deployment)
38
36
  [![Gem Version](https://badge.fury.io/rb/jekyll-theme-zer0.svg)](https://badge.fury.io/rb/jekyll-theme-zer0)
39
37
  [![CI](https://github.com/bamr87/zer0-mistakes/actions/workflows/ci.yml/badge.svg)](https://github.com/bamr87/zer0-mistakes/actions/workflows/ci.yml)
@@ -49,8 +47,6 @@ excerpt: "Professional Jekyll theme with automated installation, comprehensive e
49
47
 
50
48
  [Quick Start](#-quick-start) • [Features](#-key-features) • [Documentation](#-documentation) • [Contributing](CONTRIBUTING.md)
51
49
 
52
- </div>
53
-
54
50
  ---
55
51
 
56
52
  ## 📖 Table of Contents
@@ -219,12 +215,14 @@ pie title Technology Distribution
219
215
 
220
216
  | Layer | Technology | Purpose |
221
217
  |-------|-----------|---------|
222
- | **Framework** | Jekyll 3.9.5 | Static site generation |
218
+ | **Framework** | Jekyll 3.10.0 | Static site generation |
223
219
  | **Styling** | Bootstrap 5.3.3 | Responsive UI components |
220
+ | **Icons** | Bootstrap Icons | Unified iconography |
224
221
  | **Development** | Docker | Cross-platform consistency |
225
222
  | **Templates** | Liquid | Dynamic content rendering |
226
223
  | **Analytics** | PostHog | Privacy-first tracking |
227
224
  | **Diagrams** | Mermaid 10+ | Documentation visuals |
225
+ | **Navigation** | Intersection Observer | Scroll spy & accessibility |
228
226
 
229
227
  ---
230
228
 
@@ -311,6 +309,56 @@ stateDiagram-v2
311
309
  | Pie | `pie` | Distributions |
312
310
  | Git | `gitGraph` | Branch history |
313
311
 
312
+ ### 📓 Jupyter Notebook Support
313
+
314
+ Seamless integration for data science and computational content:
315
+
316
+ - **Automatic Conversion**: `.ipynb` → Markdown with front matter
317
+ - **Output Rendering**: Code execution results, plots, tables preserved
318
+ - **Image Extraction**: Matplotlib/PNG outputs → `/assets/images/notebooks/`
319
+ - **GitHub Actions**: Automated conversion on push to `pages/_notebooks/`
320
+ - **MathJax Support**: LaTeX equations rendered with `$$` syntax
321
+ - **Syntax Highlighting**: Code cells with Rouge highlighting
322
+ - **Responsive Layout**: Mobile-friendly notebook viewer
323
+
324
+ ```bash
325
+ # Convert notebooks
326
+ ./scripts/convert-notebooks.sh
327
+
328
+ # Add to _config.yml
329
+ collections:
330
+ notebooks:
331
+ output: true
332
+ permalink: /notebooks/:name/
333
+ ```
334
+
335
+ ### 🧭 Enhanced Navigation System (v0.14.0)
336
+
337
+ Modern, accessible sidebar navigation with advanced features:
338
+
339
+ - **Intersection Observer Scroll Spy**: 70% reduction in scroll event overhead
340
+ - **Keyboard Shortcuts**: `[` and `]` for section navigation
341
+ - **Swipe Gestures**: Mobile-friendly left/right edge detection
342
+ - **Skip-to-Content**: Accessibility-first WCAG 2.1 Level AA compliant
343
+ - **Mobile TOC FAB**: Floating action button for table of contents
344
+ - **Unified Bootstrap Icons**: Consistent iconography across all components
345
+ - **Focus Management**: Improved screen reader support with ARIA labels
346
+
347
+ | Shortcut | Action |
348
+ |----------|--------|
349
+ | `[` | Previous section |
350
+ | `]` | Next section |
351
+ | `Tab` | Skip to content |
352
+ | Swipe | Toggle sidebar (mobile) |
353
+
354
+ ### 📋 Legal & Compliance Pages (v0.15.0)
355
+
356
+ Built-in GDPR/CCPA compliant documentation:
357
+
358
+ - **Privacy Policy**: Comprehensive data collection transparency
359
+ - **Terms of Service**: Ready-to-customize legal framework
360
+ - **Cookie Consent**: Granular user preference management
361
+
314
362
  ---
315
363
 
316
364
  ## 📦 Installation Methods
@@ -342,7 +390,7 @@ docker-compose up
342
390
 
343
391
  ```ruby
344
392
  # Gemfile
345
- gem "jekyll-theme-zer0", "~> 0.10"
393
+ gem "jekyll-theme-zer0", "~> 0.15"
346
394
  ```
347
395
 
348
396
  ---
@@ -384,12 +432,13 @@ graph TD
384
432
 
385
433
  | Directory | Purpose | Key Files |
386
434
  |-----------|---------|-----------|
387
- | `_layouts/` | Page templates | `default.html`, `journals.html`, `landing.html` |
388
- | `_includes/` | Reusable components | `core/`, `components/`, `analytics/` |
389
- | `_sass/` | Stylesheets | `custom.scss`, `core/` |
390
- | `assets/` | Static files | `css/`, `js/`, `images/` |
391
- | `scripts/` | Automation | `release`, `build`, `version.sh` |
392
- | `docs/` | Technical docs | `features/`, `systems/`, `releases/` |
435
+ | `_layouts/` | Page templates | `default.html`, `journals.html`, `landing.html`, `notebook.html` |
436
+ | `_includes/` | Reusable components | `core/`, `components/`, `analytics/`, `navigation/` |
437
+ | `_sass/` | Stylesheets | `custom.scss`, `notebooks.scss`, `core/` |
438
+ | `assets/` | Static files | `css/`, `js/sidebar.js`, `images/` |
439
+ | `scripts/` | Automation | `release`, `build`, `convert-notebooks.sh` |
440
+ | `docs/` | Technical docs | `SIDEBAR_IMPROVEMENTS.md`, `JUPYTER_NOTEBOOKS.md` |
441
+ | `pages/` | Content pages | `privacy-policy.md`, `terms-of-service.md` |
393
442
 
394
443
  ---
395
444
 
@@ -518,8 +567,10 @@ graph LR
518
567
  | [📋 Technical Docs](docs/) | Architecture, systems, implementation |
519
568
  | [📖 User Guides](pages/_docs/) | Published tutorials and references |
520
569
  | [🤖 Copilot Instructions](.github/copilot-instructions.md) | AI development guidelines |
521
- | [🌱 Seed Documentation](.github/seed/) | Full reconstruction blueprints |
570
+ | [⌨️ Keyboard Navigation](docs/keyboard-navigation.md) | Accessibility shortcuts guide |
571
+ | [📓 Jupyter Notebooks](docs/JUPYTER_NOTEBOOKS.md) | Notebook conversion documentation |
522
572
  | [📝 PRD](PRD.md) | Product requirements & roadmap |
573
+ | [🔒 Privacy Policy](pages/privacy-policy.md) | GDPR/CCPA compliant privacy docs |
523
574
 
524
575
  ---
525
576
 
@@ -563,9 +614,9 @@ flowchart LR
563
614
  /opt/homebrew/bin/bash scripts/release patch --dry-run
564
615
 
565
616
  # Full release
566
- /opt/homebrew/bin/bash scripts/release patch # 0.10.3 → 0.10.4
567
- /opt/homebrew/bin/bash scripts/release minor # 0.10.3 → 0.11.0
568
- /opt/homebrew/bin/bash scripts/release major # 0.10.3 → 1.0.0
617
+ /opt/homebrew/bin/bash scripts/release patch # 0.15.0 → 0.15.1
618
+ /opt/homebrew/bin/bash scripts/release minor # 0.15.0 → 0.16.0
619
+ /opt/homebrew/bin/bash scripts/release major # 0.15.0 → 1.0.0
569
620
  ```
570
621
 
571
622
  ---
@@ -577,19 +628,19 @@ gantt
577
628
  title zer0-mistakes Roadmap
578
629
  dateFormat YYYY-MM
579
630
  section Current
580
- v0.10.x Maintenance :done, 2025-11, 2025-12
631
+ v0.15.x Maintenance :done, 2025-12, 2026-01
581
632
  section Future
582
- v0.11 - CMS Integration :2026-01, 2026-03
583
- v0.12 - Advanced Analytics:2026-04, 2026-06
584
- v0.13 - i18n Support :2026-07, 2026-09
633
+ v0.16 - CMS Integration :2026-01, 2026-03
634
+ v0.17 - Advanced Analytics:2026-04, 2026-06
635
+ v0.18 - i18n Support :2026-07, 2026-09
585
636
  v1.0 - Production Ready :milestone, 2027-01, 1d
586
637
  ```
587
638
 
588
639
  | Version | Target | Features |
589
640
  |---------|--------|----------|
590
- | **v0.11** | Q1 2026 | Headless CMS integration, content API |
591
- | **v0.12** | Q2 2026 | A/B testing, conversion funnels |
592
- | **v0.13** | Q3 2026 | Multi-language support (i18n) |
641
+ | **v0.16** | Q1 2026 | Headless CMS integration, content API |
642
+ | **v0.17** | Q2 2026 | A/B testing, conversion funnels |
643
+ | **v0.18** | Q3 2026 | Multi-language support (i18n) |
593
644
  | **v1.0** | Q1 2027 | Stable API, 90%+ test coverage |
594
645
 
595
646
  ---
@@ -645,11 +696,11 @@ git push origin feature/awesome-feature
645
696
 
646
697
  | Metric | Value |
647
698
  |--------|-------|
648
- | **Current Version** | 0.10.3 |
699
+ | **Current Version** | 0.15.0 |
649
700
  | **Installation Success** | ~95% |
650
701
  | **Setup Time** | 2-5 minutes |
651
- | **RubyGems Downloads** | 2,500+ |
652
- | **Documentation** | 17,500+ lines |
702
+ | **RubyGems Downloads** | 3,000+ |
703
+ | **Documentation** | 20,000+ lines |
653
704
  | **Lighthouse Score** | 95+ |
654
705
 
655
706
  ---
@@ -667,11 +718,8 @@ Built with these amazing technologies:
667
718
 
668
719
  ---
669
720
 
670
- <div align="center">
671
-
672
721
  **Built with ❤️ for the Jekyll community**
673
722
 
674
- **v0.10.3** • [Changelog](CHANGELOG.md) • [License](LICENSE) • [Contributing](CONTRIBUTING.md)
723
+ **v0.15.0** • [Changelog](CHANGELOG.md) • [License](LICENSE) • [Contributing](CONTRIBUTING.md)
675
724
 
676
- </div>
677
725