jekyll-theme-zer0 1.23.0 → 1.25.0
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 +110 -0
- data/README.md +3 -3
- data/_data/authors.yml +1 -0
- data/_data/features.yml +882 -34
- data/_data/navigation/README.md +15 -5
- data/_data/navigation/main.yml +0 -8
- data/_data/roadmap.yml +1 -0
- data/_includes/README.md +10 -7
- data/_includes/analytics/google-analytics.html +1 -0
- data/_includes/analytics/google-tag-manager-body.html +1 -0
- data/_includes/analytics/google-tag-manager-head.html +1 -0
- data/_includes/analytics/posthog.html +1 -0
- data/_includes/components/README.md +2 -1
- data/_includes/components/admin-links.html +63 -0
- data/_includes/components/admin-tabs.html +1 -0
- data/_includes/components/ai-chat.html +27 -5
- data/_includes/components/author-eeat.html +1 -0
- data/_includes/components/background-customizer.html +1 -0
- data/_includes/components/background-settings.html +36 -37
- data/_includes/components/component-showcase.html +1 -0
- data/_includes/components/cookie-consent.html +1 -0
- data/_includes/components/dev-shortcuts.html +1 -8
- data/_includes/components/env-switcher.html +90 -138
- data/_includes/components/feature-card.html +16 -1
- data/_includes/components/halfmoon.html +22 -41
- data/_includes/components/info-section.html +127 -130
- data/_includes/components/mermaid.html +1 -0
- data/_includes/components/nanobar.html +1 -0
- data/_includes/components/post-type-badge.html +1 -0
- data/_includes/components/preview-image.html +1 -0
- data/_includes/components/search-modal.html +1 -0
- data/_includes/components/searchbar.html +1 -0
- data/_includes/components/shortcuts-modal.html +1 -0
- data/_includes/components/theme-info.html +21 -30
- data/_includes/components/theme-preview-gallery.html +1 -0
- data/_includes/components/zer0-env-var.html +7 -1
- data/_includes/content/backlinks.html +1 -0
- data/_includes/content/giscus.html +1 -0
- data/_includes/content/jsonld-faq.html +1 -0
- data/_includes/content/seo.html +1 -0
- data/_includes/content/sitemap.html +1 -0
- data/_includes/content/toc.html +1 -0
- data/_includes/core/color-mode-init.html +1 -0
- data/_includes/core/footer.html +1 -0
- data/_includes/core/head.html +1 -0
- data/_includes/core/header.html +5 -15
- data/_includes/navigation/admin-nav.html +1 -0
- data/_includes/navigation/breadcrumbs.html +1 -0
- data/_includes/navigation/local-graph-fab.html +3 -9
- data/_includes/navigation/local-graph.html +4 -9
- data/_includes/navigation/navbar.html +1 -0
- data/_includes/navigation/sidebar-categories.html +56 -14
- data/_includes/navigation/sidebar-config.html +115 -0
- data/_includes/navigation/sidebar-folders.html +168 -62
- data/_includes/navigation/sidebar-left.html +29 -52
- data/_includes/navigation/sidebar-nav.html +30 -0
- data/_includes/navigation/sidebar-right.html +1 -0
- data/_includes/navigation/toc-fab.html +3 -9
- data/_includes/navigation/unified-drawer.html +7 -14
- data/_includes/obsidian/full-graph.html +1 -0
- data/_includes/setup/wizard.html +1 -0
- data/_includes/stats/stats-categories.html +1 -0
- data/_includes/stats/stats-header.html +1 -0
- data/_includes/stats/stats-metrics.html +1 -0
- data/_includes/stats/stats-overview.html +1 -0
- data/_includes/stats/stats-tags.html +1 -0
- data/_layouts/admin.html +1 -0
- data/_layouts/article.html +1 -0
- data/_layouts/author.html +1 -0
- data/_layouts/authors.html +1 -0
- data/_layouts/collection.html +1 -0
- data/_layouts/default.html +14 -37
- data/_layouts/home.html +1 -0
- data/_layouts/index.html +1 -0
- data/_layouts/landing.html +1 -0
- data/_layouts/news.html +1 -0
- data/_layouts/note.html +1 -0
- data/_layouts/notebook.html +1 -0
- data/_layouts/root.html +3 -2
- data/_layouts/search.html +1 -0
- data/_layouts/section.html +1 -0
- data/_layouts/setup.html +1 -0
- data/_layouts/sitemap-collection.html +1 -0
- data/_layouts/stats.html +1 -0
- data/_layouts/tag.html +1 -0
- data/_layouts/welcome.html +1 -0
- data/_plugins/author_pages_generator.rb +1 -0
- data/_plugins/obsidian_links.rb +1 -0
- data/_plugins/preview_image_generator.rb +1 -0
- data/_plugins/search_and_sitemap_generator.rb +1 -0
- data/_plugins/theme_version.rb +1 -0
- data/_sass/components/_author.scss +12 -1
- data/_sass/components/_footer.scss +22 -0
- data/_sass/components/_ui-enhancements.scss +9 -0
- data/_sass/core/_docs-layout.scss +1 -0
- data/_sass/core/_navbar.scss +10 -27
- data/_sass/core/_obsidian.scss +2 -2
- data/_sass/core/code-copy.scss +10 -0
- data/_sass/custom.scss +1 -0
- data/_sass/notebooks.scss +1 -0
- data/_sass/theme/_backgrounds.scss +7 -2
- data/_sass/utilities/_layout.scss +11 -0
- data/assets/css/main.scss +2 -1
- data/assets/js/ai-chat.js +1 -0
- data/assets/js/author-profile.js +1 -0
- data/assets/js/auto-hide-nav.js +1 -0
- data/assets/js/back-to-top.js +1 -0
- data/assets/js/background-customizer.js +1 -0
- data/assets/js/code-copy.js +1 -0
- data/assets/js/halfmoon.js +23 -22
- data/assets/js/modules/navigation/gestures.js +1 -0
- data/assets/js/modules/navigation/keyboard.js +1 -0
- data/assets/js/modules/navigation/scroll-spy.js +1 -0
- data/assets/js/modules/navigation/sidebar-state.js +1 -0
- data/assets/js/modules/navigation/sidebar-visibility.js +1 -0
- data/assets/js/modules/navigation/smooth-scroll.js +1 -0
- data/assets/js/modules/theme/appearance.js +52 -16
- data/assets/js/nanobar-init.js +1 -0
- data/assets/js/navigation.js +1 -0
- data/assets/js/obsidian-graph.js +1 -0
- data/assets/js/obsidian-wiki-links.js +1 -0
- data/assets/js/palette-generator.js +1 -0
- data/assets/js/particles-source.js +1 -0
- data/assets/js/search-modal.js +1 -0
- data/assets/js/setup-wizard.js +1 -0
- data/assets/js/share-actions.js +1 -0
- data/assets/js/skin-editor.js +1 -0
- data/assets/js/table-copy.js +1 -0
- data/assets/js/theme-customizer.js +1 -0
- data/scripts/analyze-commits.sh +1 -0
- data/scripts/bin/giscus-discussions +1 -0
- data/scripts/bin/install +1 -0
- data/scripts/bin/validate +18 -1
- data/scripts/build +1 -0
- data/scripts/content-review.rb +1 -0
- data/scripts/convert-notebooks.sh +4 -3
- data/scripts/fix-markdown-format.sh +1 -0
- data/scripts/generate-preview-images.sh +1 -0
- data/scripts/generate-roadmap.sh +1 -0
- data/scripts/install-preview-generator.sh +1 -0
- data/scripts/release +1 -0
- data/scripts/requirements.txt +11 -0
- data/scripts/setup.sh +1 -0
- data/scripts/tag-features +136 -0
- data/scripts/validate-features.rb +149 -0
- data/scripts/vendor-install.sh +1 -0
- metadata +9 -3
- data/_plugins/admin_page_urls.rb +0 -16
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2ffe866835e858107f670f29086f904914d21bf1159d8c6eb3cbd138f79caf64
|
|
4
|
+
data.tar.gz: d26f27d6460136cc9f2da67da26523721b52b0e7525e0811498910215e2f29e2
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 50038606f12260b1382fceee13299e6f8a9ca0b08b00ba18e285ed88ee762fd425e853d6fde39e8c9f72f8b345f841b04b29a3e4b095a89c36f01dc4d267d036
|
|
7
|
+
data.tar.gz: e2e2764ca02d2d10250c768beb66ca7b7ba44c60b22e1852f3993f245080b5b2d3ad532245b33e394a078ae912cc60b28b33ee9fb23403194a1e75183841d925
|
data/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,113 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.25.0](https://github.com/bamr87/zer0-mistakes/compare/v1.24.0...v1.25.0) (2026-07-03)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* **features:** reverse-traceability source tags — applied and enforced ([#270](https://github.com/bamr87/zer0-mistakes/issues/270)) ([f2c0c07](https://github.com/bamr87/zer0-mistakes/commit/f2c0c073c08bce62956a56b4b3e77d48a00ba309))
|
|
14
|
+
* **includes:** rebuild settings offcanvas into 3 coherent tabs ([#276](https://github.com/bamr87/zer0-mistakes/issues/276)) ([6d7fa5e](https://github.com/bamr87/zer0-mistakes/commit/6d7fa5e028a540576205462cb37797f6ee11c98a))
|
|
15
|
+
* **navigation:** collection-aware sidebar modes with shared resolver ([#273](https://github.com/bamr87/zer0-mistakes/issues/273)) ([104285f](https://github.com/bamr87/zer0-mistakes/commit/104285fbed2d27646549c9aa956dea5108d91f77))
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
### Bug Fixes
|
|
19
|
+
|
|
20
|
+
* **features:** stop ZER0-061 card from swallowing every following card ([#268](https://github.com/bamr87/zer0-mistakes/issues/268)) ([46a604d](https://github.com/bamr87/zer0-mistakes/commit/46a604d1bf4331422b382bf895aeecae928fda70))
|
|
21
|
+
* **navigation:** remove redundant entries from navigation menus ([916eca2](https://github.com/bamr87/zer0-mistakes/commit/916eca269726c984c5c0c9dc9533c83d9975f906))
|
|
22
|
+
* **sass:** mobile audit — contain author card, restore consent z-order, grow tap targets ([#275](https://github.com/bamr87/zer0-mistakes/issues/275)) ([8ec9867](https://github.com/bamr87/zer0-mistakes/commit/8ec9867858ff87e9b8a6fcd4a68ec7e50582c3c1))
|
|
23
|
+
|
|
24
|
+
## [Unreleased]
|
|
25
|
+
|
|
26
|
+
### Changed
|
|
27
|
+
|
|
28
|
+
- **Settings panel rebuilt** — the navbar Settings offcanvas (`#info-section`)
|
|
29
|
+
is reorganized from four overlapping tabs (Settings / Environment /
|
|
30
|
+
Developer / Background) into three with one purpose each, guarded by the
|
|
31
|
+
new `test/visual/settings-panel.spec.js` smoke suite
|
|
32
|
+
(evidence: [`test/visual/evidence/settings-panel/`](test/visual/evidence/settings-panel/README.md)
|
|
33
|
+
— 4 tabs → 3, duplicate color-mode controls 6 → 3, dead search box
|
|
34
|
+
removed, admin links 0 → 4):
|
|
35
|
+
- **Appearance** consolidates every look-and-feel control exactly once:
|
|
36
|
+
color mode (one-click segmented control replacing the two-click
|
|
37
|
+
dropdown), theme skin, background toggle + layer opacity with inline
|
|
38
|
+
values, and the primary-color picker — now mounted *inside* the tab
|
|
39
|
+
instead of appended below the tab content where it duplicated the
|
|
40
|
+
color-mode buttons under every tab.
|
|
41
|
+
- **Site** stacks the environment card (copyable page URL via a delegated
|
|
42
|
+
`data-zer0-copy` handler — inline `onclick` handlers removed),
|
|
43
|
+
quick links, deduplicated theme & build info, and Admin quick links.
|
|
44
|
+
- **Developer** keeps page location (rendered only where breadcrumbs
|
|
45
|
+
render — no more empty heading on the homepage), page metadata, and
|
|
46
|
+
source shortcuts (dead never-initialized tooltip attributes dropped).
|
|
47
|
+
- The dead Settings-tab search box (an empty `#searchbox` no JS ever
|
|
48
|
+
bound to) is removed; the search modal remains the one search surface.
|
|
49
|
+
- Mobile tabs keep their text labels (their accessible names) at every
|
|
50
|
+
width and drop the decorative icons instead of the reverse.
|
|
51
|
+
|
|
52
|
+
### Fixed
|
|
53
|
+
|
|
54
|
+
- **Settings panel admin links never rendered** — the
|
|
55
|
+
`_plugins/admin_page_urls.rb` lookup powering them never ran: the
|
|
56
|
+
`github-pages` gem forces safe mode and randomizes `plugins_dir`, so local
|
|
57
|
+
`_plugins` are disabled on GitHub Pages, in CI, and in the Docker dev
|
|
58
|
+
server alike. The plugin is replaced with a pure-Liquid scan in the cached
|
|
59
|
+
`_includes/components/admin-links.html` (jekyll-include-cache is
|
|
60
|
+
whitelisted), so the Admin section now renders its existence-gated links
|
|
61
|
+
(0 → 4 on the demo site).
|
|
62
|
+
|
|
63
|
+
- **Mobile responsive audit** — four defects found by driving every key route
|
|
64
|
+
and component under phone emulation (320–414px), each guarded by the new
|
|
65
|
+
`test/visual/mobile-responsive.spec.js` smoke suite
|
|
66
|
+
(evidence: [`test/visual/evidence/mobile-responsive/`](test/visual/evidence/mobile-responsive/README.md) —
|
|
67
|
+
author-card page overflow 19px → 0 on small phones; consent buttons 0
|
|
68
|
+
tap-blocked; all footer/copy tap targets ≥24px):
|
|
69
|
+
- **Author card**: a long nowrap expertise badge propagated through flexbox
|
|
70
|
+
`min-width: auto` and pushed the whole page past the viewport on ≤340px
|
|
71
|
+
phones, widening the layout viewport so the fixed navbar rendered "cut
|
|
72
|
+
off" and the page panned sideways.
|
|
73
|
+
- **Cookie consent banner**: the `.zer0-bg-body` child-elevation rule
|
|
74
|
+
flattened the banner (and the TOC FAB) to `z-index: 1`, letting the chat
|
|
75
|
+
and local-graph FABs paint over — and steal taps from — the banner's
|
|
76
|
+
Reject All / Accept All buttons on mobile. The rule now excludes
|
|
77
|
+
`.position-fixed`, restoring the `--zer0-layer-*` token order.
|
|
78
|
+
- **Footer tap targets**: text links (~19px) and icon-only social links
|
|
79
|
+
(~16px) now meet the WCAG 2.5.8 24px minimum via block padding and
|
|
80
|
+
minimum boxes — text size and visual design unchanged.
|
|
81
|
+
- **Breadcrumb tap targets**: breadcrumb links (~19px bare text) gain a
|
|
82
|
+
≥24px tap box via block padding + matching negative margin, without
|
|
83
|
+
shifting the visual baseline.
|
|
84
|
+
- **Code-copy buttons**: grown from ~22px to ≥24px tall (32px on
|
|
85
|
+
coarse/touch pointers).
|
|
86
|
+
- **ToC / chat FAB collision**: on mobile, the table-of-contents FAB and
|
|
87
|
+
the AI-chat toggle both claimed the right-edge slot above back-to-top
|
|
88
|
+
and overlapped (ToC painting over the chat button). The chat toggle and
|
|
89
|
+
its panel now step one slot higher on pages that render the ToC FAB,
|
|
90
|
+
and the chat panel is capped to the viewport so it can't poke above
|
|
91
|
+
short tablet/landscape screens.
|
|
92
|
+
|
|
93
|
+
### Added
|
|
94
|
+
|
|
95
|
+
- **Mobile test tier**: `test/visual/mobile-responsive.spec.js` runs the above
|
|
96
|
+
guards plus offcanvas-menu, search-modal, and settings-panel fit/tap checks
|
|
97
|
+
under real Pixel-class emulation in the `smoke` tier; `npm run test:mobile`
|
|
98
|
+
runs just this suite. New `dismissCookieConsent` fixture pre-seeds the
|
|
99
|
+
consent choice for tests that interact with lower-screen chrome.
|
|
100
|
+
|
|
101
|
+
## [1.24.0](https://github.com/bamr87/zer0-mistakes/compare/v1.23.0...v1.24.0) (2026-07-01)
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
### Features
|
|
105
|
+
|
|
106
|
+
* **features:** backfill PR/commit/issue provenance + render it ([#264](https://github.com/bamr87/zer0-mistakes/issues/264)) ([03b584a](https://github.com/bamr87/zer0-mistakes/commit/03b584aab91332fd0e91f48210a7455da5bc6d08))
|
|
107
|
+
* **features:** document 16 reconciled features (ZER0-061..076) + governance ([#267](https://github.com/bamr87/zer0-mistakes/issues/267)) ([097e842](https://github.com/bamr87/zer0-mistakes/commit/097e842426d62189d527719d07ac609a970a3084))
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
### Bug Fixes
|
|
111
|
+
|
|
112
|
+
* **features:** reconcile registry with the real repo + add validation gate ([#262](https://github.com/bamr87/zer0-mistakes/issues/262)) ([786459c](https://github.com/bamr87/zer0-mistakes/commit/786459cc611bcc829cd81c971dc6cd1a4f3ba82d))
|
|
113
|
+
* **security:** close two DOM-XSS sinks (CodeQL js/xss-through-dom) ([#266](https://github.com/bamr87/zer0-mistakes/issues/266)) ([812f247](https://github.com/bamr87/zer0-mistakes/commit/812f2478e0cc1989f599e32ac2171a0da449567f))
|
|
114
|
+
|
|
8
115
|
## [1.23.0](https://github.com/bamr87/zer0-mistakes/compare/v1.22.0...v1.23.0) (2026-06-30)
|
|
9
116
|
|
|
10
117
|
|
|
@@ -28,6 +135,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
28
135
|
|
|
29
136
|
### Bug Fixes
|
|
30
137
|
|
|
138
|
+
* **features:** stop a feature card from swallowing every card after it on `/features/` — a raw `<key>` in the ZER0-061 description rendered as a stray HTML element. Fixed the description (`/authors/:key/`), escaped all `description` output on the features page and in `feature-card.html`, and added a registry-gate check that rejects raw `<`/`>` in titles/descriptions. (evidence: [`test/visual/evidence/features-card-escape/`](test/visual/evidence/features-card-escape/README.md))
|
|
31
139
|
* **includes:** existence-guard component-showcase demo links — breadcrumb and list-group items now render as real links when the target page exists in the build (`/docs/`, `/docs/customization/`, `/categories/`, `/tags/`) and as plain text when absent; removes inert `href="#"` / `onclick="return false;"` workaround ([#219](https://github.com/bamr87/zer0-mistakes/issues/219)) (evidence: [`test/visual/evidence/component-showcase/`](test/visual/evidence/component-showcase/README.md))
|
|
32
140
|
|
|
33
141
|
### Tests
|
|
@@ -36,6 +144,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
36
144
|
### Features
|
|
37
145
|
|
|
38
146
|
- **color_mode_default config knob** — new `color_mode_default` setting (`dark` | `light` | `auto`, default `auto`) in `_config.yml` controls Bootstrap's `data-bs-theme` both server-side (in `_layouts/root.html`) and client-side. An early inline script (`_includes/core/color-mode-init.html`, loaded before Bootstrap CSS) applies the correct theme before any `[data-bs-theme]` selector is evaluated, preventing FOUC. `localStorage["theme"]` (the Appearance panel override) always wins over the config default. `auto` follows `prefers-color-scheme` — backward-compatible with the previous behaviour. (evidence: [`test/visual/evidence/color-mode-default/`](test/visual/evidence/color-mode-default/README.md))
|
|
147
|
+
- **feature provenance** — every entry in the feature registry (`_data/features.yml`) gained a `provenance:` block (`introduced_in` / `pr` / `commit` / `issue`) tracing the feature to the change that shipped it, surfaced on `/features/` as a `PR #N · <commit>` line on each card and a new **Provenance** column in the reference table. A registry-validation gate (`scripts/validate-features.rb`, the `features` test suite) now requires provenance on every active feature. (evidence: [`test/visual/evidence/features-provenance/`](test/visual/evidence/features-provenance/README.md))
|
|
148
|
+
- **feature registry coverage** — reconciled the registry against the codebase: added 16 previously-undocumented features (ZER0-061…076 — author profiles, news/section/article layouts, theme-skins customizer, nanobar, setup wizard, table-CSV copy, share actions, archives, component showcase, and the AI-content-review / giscus-digest / evidence-gate / autonomous-pipeline / secret-scan workflows), each with provenance + a regression-test link. Every active feature now also declares a `tests:` block (`scripts/validate-features.rb` hard-enforces both provenance and tests), and the governance in [`features.instructions.md`](.github/instructions/features.instructions.md) requires them on every new entry.
|
|
39
149
|
### Bug Fixes
|
|
40
150
|
|
|
41
151
|
* **search:** existence-gate search modal form action to `/sitemap/` only when that page is present in the build; falls back to `#` (safe no-op) for remote-theme Pages consumers without a `/sitemap/` stub (closes [#202](https://github.com/bamr87/zer0-mistakes/issues/202))
|
data/README.md
CHANGED
|
@@ -757,11 +757,11 @@ All workflows live under [`.github/workflows/`](.github/workflows/).
|
|
|
757
757
|
|
|
758
758
|
| # | Workflow | File | Trigger | Purpose |
|
|
759
759
|
|---|----------|------|---------|---------|
|
|
760
|
-
| 1 | **Comprehensive CI Pipeline** | [`ci.yml`](.github/workflows/ci.yml) | push / PR / dispatch | Detect changes →
|
|
761
|
-
| 2 | **TEST (Latest Dependencies)** | [`test-latest.yml`](.github/workflows/test-latest.yml) | daily schedule / push /
|
|
760
|
+
| 1 | **Comprehensive CI Pipeline** | [`ci.yml`](.github/workflows/ci.yml) | push / PR / dispatch | Detect changes → quality control (incl. quick preflight) → matrix test suite → integration tests → build & validate |
|
|
761
|
+
| 2 | **TEST (Latest Dependencies)** | [`test-latest.yml`](.github/workflows/test-latest.yml) | daily schedule / push / dispatch | Zero-pin Docker build with bleeding-edge gems; tests then promotes passing images to Docker Hub |
|
|
762
762
|
| 3 | **Release** | [`release.yml`](.github/workflows/release.yml) | push to `main` | release-please opens a release PR from Conventional Commits; merging it tags `vX.Y.Z` and publishes the gem to [RubyGems](https://rubygems.org/gems/jekyll-theme-zer0) |
|
|
763
763
|
| 4 | **Update Dependencies** | [`update-dependencies.yml`](.github/workflows/update-dependencies.yml) | weekly schedule | Refreshes `Gemfile.lock` to latest compatible versions and opens an automated PR |
|
|
764
|
-
| 5 | **CodeQL Security Scanning** | [`codeql.yml`](.github/workflows/codeql.yml) | push / PR on code paths + weekly | Static security analysis across Ruby, JavaScript/TypeScript, Python,
|
|
764
|
+
| 5 | **CodeQL Security Scanning** | [`codeql.yml`](.github/workflows/codeql.yml) | push / PR on code paths + weekly | Static security analysis across Ruby, JavaScript/TypeScript, Python, and Actions |
|
|
765
765
|
| 6 | **Content & Docs Review** | [`ai-content-review.yml`](.github/workflows/ai-content-review.yml) | PR on docs/content | Deterministic SEO/quality review + optional Claude agent + docs front matter, internal-link, and markdownlint checks |
|
|
766
766
|
| 7 | **Convert Jupyter Notebooks** | [`convert-notebooks.yml`](.github/workflows/convert-notebooks.yml) | push to `pages/_notebooks/**.ipynb` | Auto-converts `.ipynb` → Jekyll-friendly Markdown with extracted images |
|
|
767
767
|
| 8 | **Sync** | [`sync.yml`](.github/workflows/sync.yml) | push affecting `_data/backlog.yml` or `_data/roadmap.yml` | Mirrors the backlog to GitHub Issues and regenerates the README roadmap section |
|
data/_data/authors.yml
CHANGED