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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +428 -0
- data/README.md +79 -31
- data/_data/README.md +419 -17
- data/_data/generate_statistics.rb +216 -9
- data/_data/generate_statistics.sh +106 -0
- data/_data/github-actions-example.yml +210 -0
- data/_data/navigation/about.yml +39 -11
- data/_data/navigation/docs.yml +53 -23
- data/_data/navigation/home.yml +27 -9
- data/_data/navigation/main.yml +27 -8
- data/_data/navigation/posts.yml +22 -6
- data/_data/navigation/quickstart.yml +19 -6
- data/_data/posts_organization.yml +153 -0
- data/_data/prerequisites.yml +112 -0
- data/_data/statistics_config.yml +203 -0
- data/_data/ui-text.yml +321 -0
- data/_data/update_statistics.sh +126 -0
- data/_includes/README.md +2 -0
- data/_includes/components/js-cdn.html +4 -1
- data/_includes/components/post-card.html +2 -11
- data/_includes/components/preview-image.html +32 -0
- data/_includes/content/intro.html +9 -10
- data/_includes/core/header.html +14 -0
- data/_includes/navigation/sidebar-categories.html +20 -9
- data/_includes/navigation/sidebar-folders.html +8 -7
- data/_includes/navigation/sidebar-right.html +16 -10
- data/_layouts/blog.html +15 -45
- data/_layouts/category.html +4 -24
- data/_layouts/collection.html +2 -12
- data/_layouts/default.html +1 -1
- data/_layouts/journals.html +2 -12
- data/_layouts/notebook.html +296 -0
- data/_sass/core/_docs.scss +1 -1
- data/_sass/custom.scss +54 -17
- data/_sass/notebooks.scss +458 -0
- data/assets/images/notebooks/test-notebook_files/test-notebook_4_0.png +0 -0
- data/assets/js/sidebar.js +511 -0
- data/scripts/README.md +131 -105
- data/scripts/analyze-commits.sh +9 -311
- data/scripts/bin/build +22 -22
- data/scripts/build +7 -111
- data/scripts/convert-notebooks.sh +415 -0
- data/scripts/features/validate_preview_urls.py +500 -0
- data/scripts/fix-markdown-format.sh +8 -262
- data/scripts/generate-preview-images.sh +7 -787
- data/scripts/install-preview-generator.sh +8 -528
- data/scripts/lib/README.md +5 -5
- data/scripts/lib/changelog.sh +89 -57
- data/scripts/lib/gem.sh +19 -7
- data/scripts/release +7 -236
- data/scripts/setup.sh +9 -153
- data/scripts/test/lib/run_tests.sh +1 -2
- data/scripts/test-auto-version.sh +7 -256
- data/scripts/test-mermaid.sh +7 -287
- data/scripts/test.sh +9 -154
- metadata +16 -10
- data/scripts/features/preview_generator.py +0 -646
- data/scripts/lib/test/run_tests.sh +0 -140
- data/scripts/lib/test/test_changelog.sh +0 -87
- data/scripts/lib/test/test_gem.sh +0 -68
- data/scripts/lib/test/test_git.sh +0 -82
- data/scripts/lib/test/test_validation.sh +0 -72
- data/scripts/lib/test/test_version.sh +0 -96
- data/scripts/version.sh +0 -178
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 62704de5aed76c7000c418b93977002ded56b588a49183c4548c315bd2b40fdd
|
|
4
|
+
data.tar.gz: acfd3a0d47a33a99af964fe2019e0128bbfb50903640658671bb6090b3b38495
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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.
|
|
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
|
[](https://github.com/bamr87/zer0-mistakes/actions/workflows/pages/pages-build-deployment)
|
|
38
36
|
[](https://badge.fury.io/rb/jekyll-theme-zer0)
|
|
39
37
|
[](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.
|
|
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.
|
|
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
|
|
391
|
-
| `scripts/` | Automation | `release`, `build`, `
|
|
392
|
-
| `docs/` | Technical docs | `
|
|
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
|
-
| [
|
|
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.
|
|
567
|
-
/opt/homebrew/bin/bash scripts/release minor # 0.
|
|
568
|
-
/opt/homebrew/bin/bash scripts/release major # 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.
|
|
631
|
+
v0.15.x Maintenance :done, 2025-12, 2026-01
|
|
581
632
|
section Future
|
|
582
|
-
v0.
|
|
583
|
-
v0.
|
|
584
|
-
v0.
|
|
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.
|
|
591
|
-
| **v0.
|
|
592
|
-
| **v0.
|
|
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.
|
|
699
|
+
| **Current Version** | 0.15.0 |
|
|
649
700
|
| **Installation Success** | ~95% |
|
|
650
701
|
| **Setup Time** | 2-5 minutes |
|
|
651
|
-
| **RubyGems Downloads** |
|
|
652
|
-
| **Documentation** |
|
|
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.
|
|
723
|
+
**v0.15.0** • [Changelog](CHANGELOG.md) • [License](LICENSE) • [Contributing](CONTRIBUTING.md)
|
|
675
724
|
|
|
676
|
-
</div>
|
|
677
725
|
|