jekyll-theme-zer0 1.28.0 → 1.30.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 +1143 -13
- data/_data/README.md +2 -0
- data/_data/ai.yml +5 -3
- data/_data/ai_pricing.yml +36 -0
- data/_data/backlog.yml +507 -2
- data/_data/consumers.yml +157 -9
- data/_data/features.yml +303 -20
- data/_data/feedback_types.yml +17 -12
- data/_data/i18n/fr.yml +12 -7
- data/_data/i18n/manifest.yml +39 -12
- data/_data/ingredient_densities.yml +122 -0
- data/_data/landing.yml +5 -2
- data/_data/navigation/main.yml +16 -0
- data/_data/navigation/quickstart.yml +4 -0
- data/_data/recipe_courses.yml +64 -0
- data/_data/site_builder.yml +874 -0
- data/_data/theme-manifest.yml +160 -124
- data/_data/ui-text.yml +26 -0
- data/_includes/README.md +26 -2
- data/_includes/analytics/posthog.html +2 -2
- data/_includes/components/admin-links.html +2 -2
- data/_includes/components/admin-tabs.html +2 -2
- data/_includes/components/ai-chat.html +14 -11
- data/_includes/components/analytics-dashboard.html +8 -8
- data/_includes/components/author-bio.html +1 -1
- data/_includes/components/author-card.html +10 -2
- data/_includes/components/author-eeat.html +4 -4
- data/_includes/components/background-customizer.html +10 -10
- data/_includes/components/background-image.html +114 -0
- data/_includes/components/background-settings.html +28 -15
- data/_includes/components/collection-manager.html +5 -5
- data/_includes/components/component-showcase.html +13 -13
- data/_includes/components/config-editor.html +12 -12
- data/_includes/components/config-viewer.html +8 -8
- data/_includes/components/cookie-consent.html +15 -15
- data/_includes/components/cta-button.html +7 -2
- data/_includes/components/dev-shortcuts.html +7 -7
- data/_includes/components/env-dashboard.html +8 -8
- data/_includes/components/env-switcher.html +9 -9
- data/_includes/components/feature-card.html +2 -2
- data/_includes/components/halfmoon.html +2 -2
- data/_includes/components/info-section.html +42 -37
- data/_includes/components/js-cdn.html +15 -15
- data/_includes/components/language-toggle.html +168 -21
- data/_includes/components/mermaid.html +72 -435
- data/_includes/components/nanobar.html +5 -5
- data/_includes/components/nav-editor.html +2 -2
- data/_includes/components/nav-export.html +2 -2
- data/_includes/components/nav-overview.html +2 -2
- data/_includes/components/page-feedback.html +45 -30
- data/_includes/components/page-views-init.html +55 -0
- data/_includes/components/page-views.html +33 -0
- data/_includes/components/post-card.html +22 -22
- data/_includes/components/post-type-badge.html +2 -2
- data/_includes/components/powered-by.html +2 -2
- data/_includes/components/preview-image.html +6 -0
- data/_includes/components/quick-index.html +2 -2
- data/_includes/components/recipe-card.html +67 -0
- data/_includes/components/recipe-duration.html +50 -0
- data/_includes/components/recipe-grams.html +58 -0
- data/_includes/components/recipe-index.html +96 -0
- data/_includes/components/recipe-ingredients.html +90 -0
- data/_includes/components/recipe-meta.html +96 -0
- data/_includes/components/recipe-nutrition.html +57 -0
- data/_includes/components/recipe-qty.html +73 -0
- data/_includes/components/recipe-ratio.html +151 -0
- data/_includes/components/recipe-scaler.html +73 -0
- data/_includes/components/recipe-steps.html +86 -0
- data/_includes/components/recipe-temp.html +45 -0
- data/_includes/components/search-modal.html +29 -4
- data/_includes/components/searchbar.html +2 -2
- data/_includes/components/shortcuts-modal.html +3 -0
- data/_includes/components/svg-background.html +2 -2
- data/_includes/components/theme-customizer.html +2 -2
- data/_includes/components/theme-info.html +14 -7
- data/_includes/components/theme-preview-gallery.html +22 -22
- data/_includes/content/giscus.html +2 -2
- data/_includes/content/intro.html +8 -8
- data/_includes/content/jsonld-faq.html +2 -2
- data/_includes/content/jsonld-software.html +24 -5
- data/_includes/content/seo.html +4 -4
- data/_includes/content/sitemap.html +27 -27
- data/_includes/content/toc.html +183 -183
- data/_includes/core/branding.html +6 -6
- data/_includes/core/console-capture.html +32 -74
- data/_includes/core/favicon.html +49 -7
- data/_includes/core/footer-fabs.html +17 -3
- data/_includes/core/footer.html +49 -34
- data/_includes/core/head.html +110 -86
- data/_includes/core/header.html +76 -54
- data/_includes/docs/bootstrap-docs.html +8 -8
- data/_includes/landing/landing-install-cards.html +2 -2
- data/_includes/landing/landing-quick-links.html +1 -1
- data/_includes/navigation/admin-nav.html +2 -2
- data/_includes/navigation/nav-tree.html +8 -8
- data/_includes/navigation/navbar.html +12 -12
- data/_includes/navigation/section-sidebar.html +109 -27
- data/_includes/navigation/sidebar-config.html +36 -2
- data/_includes/navigation/sidebar-left.html +17 -16
- data/_includes/navigation/sidebar-right.html +8 -7
- data/_includes/obsidian/full-graph.html +2 -2
- data/_includes/setup/claude-session.html +72 -0
- data/_includes/setup/prereq-checklist.html +90 -0
- data/_includes/setup/wizard.html +924 -222
- data/_includes/stats/stats-categories.html +8 -8
- data/_includes/stats/stats-header.html +14 -14
- data/_includes/stats/stats-metrics.html +14 -14
- data/_includes/stats/stats-no-data.html +12 -12
- data/_includes/stats/stats-overview.html +6 -6
- data/_includes/stats/stats-tags.html +8 -8
- data/_layouts/404.html +38 -24
- data/_layouts/README.md +2 -0
- data/_layouts/admin.html +24 -24
- data/_layouts/article.html +43 -33
- data/_layouts/author.html +20 -20
- data/_layouts/authors.html +2 -2
- data/_layouts/book-abc.html +12 -12
- data/_layouts/book-story.html +15 -15
- data/_layouts/book.html +12 -12
- data/_layouts/collection.html +33 -33
- data/_layouts/cookbook.html +88 -0
- data/_layouts/default.html +31 -28
- data/_layouts/home.html +23 -23
- data/_layouts/index.html +10 -10
- data/_layouts/landing.html +17 -17
- data/_layouts/news.html +44 -44
- data/_layouts/note.html +38 -38
- data/_layouts/notebook.html +34 -34
- data/_layouts/recipe.html +274 -0
- data/_layouts/root.html +92 -55
- data/_layouts/section.html +62 -33
- data/_layouts/setup.html +3 -3
- data/_layouts/sitemap-collection.html +49 -49
- data/_layouts/stats.html +40 -40
- data/_layouts/tag.html +12 -12
- data/_layouts/welcome.html +21 -21
- data/_sass/components/_callout.scss +1 -1
- data/_sass/components/_footer.scss +37 -1
- data/_sass/components/_mermaid.scss +375 -0
- data/_sass/components/_page-views.scss +36 -0
- data/_sass/components/_recipe.scss +506 -0
- data/_sass/components/_setup-wizard.scss +764 -0
- data/_sass/components/_ui-enhancements.scss +6 -6
- data/_sass/core/_navbar.scss +261 -46
- data/_sass/layouts/_landing.scss +2 -2
- data/_sass/layouts/_navbar-extras.scss +14 -4
- data/_sass/tokens/_color.scss +6 -0
- data/_sass/tokens/_index.scss +2 -0
- data/_sass/tokens/_radius.scss +21 -0
- data/_sass/tokens/_typography.scss +4 -0
- data/_sass/utilities/_focus.scss +14 -0
- data/assets/css/main.scss +4 -0
- data/assets/js/ai-chat.js +47 -5
- data/assets/js/fleet-feedback-capture.js +124 -0
- data/assets/js/fleet-feedback.js +853 -0
- data/assets/js/mermaid-diagrams.js +1267 -0
- data/assets/js/modules/navigation/config.js +9 -6
- data/assets/js/modules/navigation/navbar.js +55 -0
- data/assets/js/modules/navigation/scroll-spy.js +315 -80
- data/assets/js/modules/theme/appearance.js +8 -2
- data/assets/js/obsidian-wiki-links.js +8 -3
- data/assets/js/page-feedback.js +125 -192
- data/assets/js/page-views.js +372 -0
- data/assets/js/recipe-scaler.js +501 -0
- data/assets/js/search-modal.js +36 -0
- data/assets/js/setup-wizard.js +2279 -226
- data/assets/js/site-builder.js +1834 -0
- data/assets/js/ui-enhancements.js +11 -3
- data/scripts/README.md +44 -0
- data/scripts/ai/README.md +38 -0
- data/scripts/ai/api_call.rb +124 -0
- data/scripts/ai/usage.rb +314 -0
- data/scripts/ai/usage_report.rb +225 -0
- data/scripts/bin/audit-consumer +39 -7
- data/scripts/bin/giscus-discussions +213 -14
- data/scripts/bin/manifest +35 -12
- data/scripts/ci/agent_review_result.py +164 -0
- data/scripts/ci/test_agent_review_result.py +172 -0
- data/scripts/ci/test_visual_evidence_autogen.py +341 -0
- data/scripts/ci/visual_evidence_autogen.py +1060 -0
- data/scripts/content-review.rb +20 -1
- data/scripts/design-system-check.rb +170 -0
- data/scripts/lib/audit.sh +42 -2
- data/scripts/lint-liquid-raw.rb +137 -0
- data/scripts/test/integration/mermaid +22 -8
- data/scripts/test/lib/run_tests.sh +3 -1
- data/scripts/test/lib/test_agent_review_result.sh +27 -0
- data/scripts/test/lib/test_visual_evidence_autogen.sh +24 -0
- data/scripts/translate.rb +94 -16
- metadata +48 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
{% comment %}
|
|
2
2
|
===================================================================
|
|
3
3
|
CONFIG EDITOR — Form-based configuration builder
|
|
4
4
|
===================================================================
|
|
@@ -11,15 +11,15 @@
|
|
|
11
11
|
Dependencies: Bootstrap 5.3, assets/js/config-utility.js
|
|
12
12
|
Data source: site.* variables pre-populate fields
|
|
13
13
|
===================================================================
|
|
14
|
-
|
|
14
|
+
{% endcomment %}
|
|
15
15
|
|
|
16
16
|
<div id="configEditor">
|
|
17
17
|
<div class="row">
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
{% comment %} ── Left: Form ────────────────────────────────────────────────── {% endcomment %}
|
|
20
20
|
<div class="col-lg-6 mb-4 mb-lg-0">
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
{% comment %} Site Identity {% endcomment %}
|
|
23
23
|
<div class="card mb-3">
|
|
24
24
|
<div class="card-header">
|
|
25
25
|
<i class="bi bi-person-badge me-1"></i> Site Identity
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
</div>
|
|
54
54
|
</div>
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
{% comment %} GitHub {% endcomment %}
|
|
57
57
|
<div class="card mb-3">
|
|
58
58
|
<div class="card-header">
|
|
59
59
|
<i class="bi bi-github me-1"></i> GitHub
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
</div>
|
|
80
80
|
</div>
|
|
81
81
|
|
|
82
|
-
|
|
82
|
+
{% comment %} URLs & Deployment {% endcomment %}
|
|
83
83
|
<div class="card mb-3">
|
|
84
84
|
<div class="card-header">
|
|
85
85
|
<i class="bi bi-link-45deg me-1"></i> URLs & Deployment
|
|
@@ -121,7 +121,7 @@
|
|
|
121
121
|
</div>
|
|
122
122
|
</div>
|
|
123
123
|
|
|
124
|
-
|
|
124
|
+
{% comment %} Personalization {% endcomment %}
|
|
125
125
|
<div class="card mb-3">
|
|
126
126
|
<div class="card-header">
|
|
127
127
|
<i class="bi bi-palette me-1"></i> Personalization
|
|
@@ -151,7 +151,7 @@
|
|
|
151
151
|
</div>
|
|
152
152
|
</div>
|
|
153
153
|
|
|
154
|
-
|
|
154
|
+
{% comment %} Analytics {% endcomment %}
|
|
155
155
|
<div class="card mb-3">
|
|
156
156
|
<div class="card-header">
|
|
157
157
|
<i class="bi bi-graph-up me-1"></i> Analytics
|
|
@@ -174,9 +174,9 @@
|
|
|
174
174
|
</div>
|
|
175
175
|
</div>
|
|
176
176
|
|
|
177
|
-
</div
|
|
177
|
+
</div>{% comment %} /col form {% endcomment %}
|
|
178
178
|
|
|
179
|
-
|
|
179
|
+
{% comment %} ── Right: Live YAML Preview ──────────────────────────────────── {% endcomment %}
|
|
180
180
|
<div class="col-lg-6">
|
|
181
181
|
<div class="sticky-top" style="top:80px">
|
|
182
182
|
<div class="card">
|
|
@@ -201,7 +201,7 @@
|
|
|
201
201
|
<strong>Tip:</strong> Changes are reflected instantly in the preview. Download the file and replace your project's <code>_config.yml</code>, then restart your dev server.
|
|
202
202
|
</div>
|
|
203
203
|
</div>
|
|
204
|
-
</div
|
|
204
|
+
</div>{% comment %} /col preview {% endcomment %}
|
|
205
205
|
|
|
206
|
-
</div
|
|
206
|
+
</div>{% comment %} /row {% endcomment %}
|
|
207
207
|
</div>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
{% comment %}
|
|
2
2
|
===================================================================
|
|
3
3
|
CONFIG VIEWER — Accordion-based live configuration browser
|
|
4
4
|
===================================================================
|
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
Dependencies: Bootstrap 5.3, assets/js/config-utility.js
|
|
13
13
|
Data source: site.* variables (Liquid at build time)
|
|
14
14
|
===================================================================
|
|
15
|
-
|
|
15
|
+
{% endcomment %}
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
{% comment %} ── Search bar ─────────────────────────────────────────────────── {% endcomment %}
|
|
18
18
|
<div class="input-group mb-3">
|
|
19
19
|
<span class="input-group-text"><i class="bi bi-search"></i></span>
|
|
20
20
|
<input type="text" class="form-control" id="cfg-search"
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
</button>
|
|
25
25
|
</div>
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
{% comment %} ── Toolbar ─────────────────────────────────────────────────────── {% endcomment %}
|
|
28
28
|
<div class="d-flex justify-content-between align-items-center mb-3">
|
|
29
29
|
<div class="btn-group btn-group-sm" role="group">
|
|
30
30
|
<button class="btn btn-outline-secondary" id="cfg-expand-all" title="Expand all sections">
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
</button>
|
|
40
40
|
</div>
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
{% comment %} ── Accordion ───────────────────────────────────────────────────── {% endcomment %}
|
|
43
43
|
<div class="accordion" id="configAccordion">
|
|
44
44
|
|
|
45
45
|
{% comment %} ──────────── Section: Site Identity ──────────── {% endcomment %}
|
|
@@ -473,7 +473,7 @@
|
|
|
473
473
|
</div>
|
|
474
474
|
{% endif %}
|
|
475
475
|
|
|
476
|
-
</div
|
|
476
|
+
</div>{% comment %} /configAccordion {% endcomment %}
|
|
477
477
|
|
|
478
|
-
|
|
479
|
-
|
|
478
|
+
{% comment %} ── Hidden full YAML for copy-all (populated by parent page) ──── {% endcomment %}
|
|
479
|
+
{% comment %} The parent page must render: <pre id="cfg-full-yaml" class="d-none">…</pre> {% endcomment %}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{% comment %} Feature: ZER0-007 {% endcomment %}
|
|
2
|
-
|
|
2
|
+
{% comment %}
|
|
3
3
|
===================================================================
|
|
4
4
|
COOKIE CONSENT - GDPR/CCPA Compliant Privacy Management
|
|
5
5
|
===================================================================
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
- High contrast design for visibility
|
|
34
34
|
- Semantic HTML structure
|
|
35
35
|
===================================================================
|
|
36
|
-
|
|
36
|
+
{% endcomment %}
|
|
37
37
|
|
|
38
38
|
{% comment %}
|
|
39
39
|
Cookie Consent Banner for Zer0-Mistakes Jekyll Theme
|
|
@@ -84,15 +84,15 @@ Configuration: Uses site.posthog settings from _config.yml
|
|
|
84
84
|
</div>
|
|
85
85
|
</div>
|
|
86
86
|
|
|
87
|
-
|
|
87
|
+
{% comment %} Cookie Settings Modal {% endcomment %}
|
|
88
88
|
<div class="modal fade" id="cookieSettingsModal" tabindex="-1" aria-labelledby="cookieSettingsModalLabel" aria-hidden="true">
|
|
89
89
|
<div class="modal-dialog modal-lg">
|
|
90
90
|
<div class="modal-content">
|
|
91
91
|
<div class="modal-header">
|
|
92
|
-
<
|
|
92
|
+
<h2 class="modal-title h5" id="cookieSettingsModalLabel">
|
|
93
93
|
<i class="bi bi-shield-check me-2"></i>
|
|
94
94
|
Cookie Preferences
|
|
95
|
-
</
|
|
95
|
+
</h2>
|
|
96
96
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
|
97
97
|
</div>
|
|
98
98
|
<div class="modal-body">
|
|
@@ -102,10 +102,10 @@ Configuration: Uses site.posthog settings from _config.yml
|
|
|
102
102
|
|
|
103
103
|
<div class="cookie-category mb-4">
|
|
104
104
|
<div class="d-flex justify-content-between align-items-center mb-2">
|
|
105
|
-
<
|
|
105
|
+
<h3 class="h6 mb-0">
|
|
106
106
|
<i class="bi bi-shield-fill-check text-success me-2"></i>
|
|
107
107
|
Essential Cookies
|
|
108
|
-
</
|
|
108
|
+
</h3>
|
|
109
109
|
<span class="badge bg-success">Always Active</span>
|
|
110
110
|
</div>
|
|
111
111
|
<p class="small text-muted mb-0">
|
|
@@ -115,10 +115,10 @@ Configuration: Uses site.posthog settings from _config.yml
|
|
|
115
115
|
|
|
116
116
|
<div class="cookie-category mb-4">
|
|
117
117
|
<div class="d-flex justify-content-between align-items-center mb-2">
|
|
118
|
-
<
|
|
118
|
+
<h3 class="h6 mb-0">
|
|
119
119
|
<i class="bi bi-graph-up me-2"></i>
|
|
120
120
|
Analytics Cookies
|
|
121
|
-
</
|
|
121
|
+
</h3>
|
|
122
122
|
<div class="form-check form-switch">
|
|
123
123
|
<input class="form-check-input" type="checkbox" id="analyticsCookies" checked>
|
|
124
124
|
<label class="form-check-label" for="analyticsCookies">Enable</label>
|
|
@@ -138,10 +138,10 @@ Configuration: Uses site.posthog settings from _config.yml
|
|
|
138
138
|
|
|
139
139
|
<div class="cookie-category mb-4">
|
|
140
140
|
<div class="d-flex justify-content-between align-items-center mb-2">
|
|
141
|
-
<
|
|
141
|
+
<h3 class="h6 mb-0">
|
|
142
142
|
<i class="bi bi-megaphone me-2"></i>
|
|
143
143
|
Marketing Cookies
|
|
144
|
-
</
|
|
144
|
+
</h3>
|
|
145
145
|
<div class="form-check form-switch">
|
|
146
146
|
<input class="form-check-input" type="checkbox" id="marketingCookies">
|
|
147
147
|
<label class="form-check-label" for="marketingCookies">Enable</label>
|
|
@@ -156,11 +156,11 @@ Configuration: Uses site.posthog settings from _config.yml
|
|
|
156
156
|
</div>
|
|
157
157
|
|
|
158
158
|
<div class="bg-body p-3 rounded">
|
|
159
|
-
<
|
|
159
|
+
<h3 class="h6 text-body mb-2">
|
|
160
160
|
<i class="bi bi-info-circle me-2"></i>
|
|
161
161
|
Your Privacy Rights
|
|
162
|
-
</
|
|
163
|
-
<ul class="small text-
|
|
162
|
+
</h3>
|
|
163
|
+
<ul class="small text-body mb-0 ps-3">
|
|
164
164
|
<li>You can withdraw consent at any time by updating your cookie preferences</li>
|
|
165
165
|
<li>Essential cookies cannot be disabled as they are necessary for site functionality</li>
|
|
166
166
|
<li>Disabling analytics cookies will prevent us from improving your experience</li>
|
|
@@ -381,7 +381,7 @@ Configuration: Uses site.posthog settings from _config.yml
|
|
|
381
381
|
}
|
|
382
382
|
|
|
383
383
|
.cookie-category {
|
|
384
|
-
border: 1px solid
|
|
384
|
+
border: 1px solid var(--bs-border-color);
|
|
385
385
|
border-radius: 8px;
|
|
386
386
|
padding: 1rem;
|
|
387
387
|
}
|
|
@@ -8,7 +8,11 @@
|
|
|
8
8
|
Parameters
|
|
9
9
|
include.label (string) — visible button text (required)
|
|
10
10
|
include.url (string) — destination URL (required)
|
|
11
|
-
include.variant (string) — `primary` | `secondary` | `outline` | `light`
|
|
11
|
+
include.variant (string) — `primary` | `secondary` | `outline` | `outline-light`
|
|
12
|
+
| `light` (default: `primary`). `outline` is an
|
|
13
|
+
outlined PRIMARY button, readable on the normal
|
|
14
|
+
page background; use `outline-light` only on a
|
|
15
|
+
dark/inverse surface, where white-on-dark works.
|
|
12
16
|
include.size (string) — `sm` | `md` (default) | `lg`
|
|
13
17
|
include.icon (string) — Bootstrap Icon class (optional)
|
|
14
18
|
include.external (bool) — opens in new tab with rel=noopener (default: false)
|
|
@@ -24,7 +28,8 @@
|
|
|
24
28
|
{%- case variant -%}
|
|
25
29
|
{%- when "primary" -%}{%- assign btn_class = "btn-primary" -%}
|
|
26
30
|
{%- when "secondary" -%}{%- assign btn_class = "btn-secondary" -%}
|
|
27
|
-
{%- when "outline" -%}{%- assign btn_class = "btn-outline-
|
|
31
|
+
{%- when "outline" -%}{%- assign btn_class = "btn-outline-primary" -%}
|
|
32
|
+
{%- when "outline-light" -%}{%- assign btn_class = "btn-outline-light" -%}
|
|
28
33
|
{%- when "light" -%}{%- assign btn_class = "btn-light" -%}
|
|
29
34
|
{%- else -%}{%- assign btn_class = "btn-primary" -%}
|
|
30
35
|
{%- endcase -%}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{% comment %} Feature: ZER0-077 {% endcomment %}
|
|
2
|
-
|
|
2
|
+
{% comment %}
|
|
3
3
|
===================================================================
|
|
4
4
|
DEV SHORTCUTS - Source Code Quick Access Links
|
|
5
5
|
===================================================================
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
- page.collection, page.path
|
|
14
14
|
- is_production (from env-detect.html in info-section.html) — vscode:// link only when not production
|
|
15
15
|
===================================================================
|
|
16
|
-
|
|
16
|
+
{% endcomment %}
|
|
17
17
|
|
|
18
18
|
{% comment %} Determine page directory for collections (same segments as GitHub blob links) {% endcomment %}
|
|
19
19
|
{% if page.collection %}
|
|
@@ -39,10 +39,10 @@
|
|
|
39
39
|
https://github.com//blob//path → 404). {% endcomment %}
|
|
40
40
|
{% if site.repository and site.branch %}
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
{% comment %} Button Group (section title is the parent h6 in info-section.html) {% endcomment %}
|
|
43
43
|
<div class="btn-group-vertical" role="group" aria-label="Source code shortcuts">
|
|
44
44
|
|
|
45
|
-
|
|
45
|
+
{% comment %} View on GitHub {% endcomment %}
|
|
46
46
|
<a href="https://github.com/{{ site.repository }}/blob/{{ site.branch }}/{{ rel_site_path }}"
|
|
47
47
|
target="_blank"
|
|
48
48
|
rel="noopener"
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
<i class="bi bi-box-arrow-up-right text-body-secondary small"></i>
|
|
56
56
|
</a>
|
|
57
57
|
|
|
58
|
-
|
|
58
|
+
{% comment %} Edit in GitHub.dev {% endcomment %}
|
|
59
59
|
<a href="https://github.dev/{{ site.repository }}/blob/{{ site.branch }}/{{ rel_site_path }}"
|
|
60
60
|
target="_blank"
|
|
61
61
|
rel="noopener"
|
|
@@ -85,14 +85,14 @@
|
|
|
85
85
|
|
|
86
86
|
</div>
|
|
87
87
|
|
|
88
|
-
|
|
88
|
+
{% comment %} Config Links {% endcomment %}
|
|
89
89
|
<small class="text-body-secondary fw-medium text-uppercase mt-2">
|
|
90
90
|
<i class="bi bi-sliders me-1"></i>Configuration
|
|
91
91
|
</small>
|
|
92
92
|
|
|
93
93
|
<div class="btn-group-vertical" role="group" aria-label="Configuration shortcuts">
|
|
94
94
|
|
|
95
|
-
|
|
95
|
+
{% comment %} Site Config {% endcomment %}
|
|
96
96
|
<a href="https://github.com/{{ site.repository }}/blob/{{ site.branch }}/_config.yml"
|
|
97
97
|
target="_blank"
|
|
98
98
|
rel="noopener"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
{% comment %}
|
|
2
2
|
===================================================================
|
|
3
3
|
ENV DASHBOARD — Full environment and build information
|
|
4
4
|
===================================================================
|
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
Dependencies: Bootstrap 5 card/table, Jekyll variables
|
|
13
13
|
Used by: pages/_about/settings/environment.md
|
|
14
14
|
===================================================================
|
|
15
|
-
|
|
15
|
+
{% endcomment %}
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
{% comment %} Environment Overview Cards {% endcomment %}
|
|
18
18
|
<div class="row g-3 mb-4">
|
|
19
19
|
<div class="col-6 col-lg-3">
|
|
20
20
|
<div class="card text-center h-100 border-primary">
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
|
|
57
57
|
<div class="row g-4">
|
|
58
58
|
|
|
59
|
-
|
|
59
|
+
{% comment %} Site Configuration {% endcomment %}
|
|
60
60
|
<div class="col-lg-6">
|
|
61
61
|
<div class="card h-100">
|
|
62
62
|
<div class="card-header"><i class="bi bi-globe me-1"></i> Site Configuration</div>
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
</div>
|
|
77
77
|
</div>
|
|
78
78
|
|
|
79
|
-
|
|
79
|
+
{% comment %} Theme & Repository Info {% endcomment %}
|
|
80
80
|
<div class="col-lg-6">
|
|
81
81
|
<div class="card h-100">
|
|
82
82
|
<div class="card-header"><i class="bi bi-palette me-1"></i> Theme & Repository</div>
|
|
@@ -105,7 +105,7 @@
|
|
|
105
105
|
</div>
|
|
106
106
|
</div>
|
|
107
107
|
|
|
108
|
-
|
|
108
|
+
{% comment %} Plugins List {% endcomment %}
|
|
109
109
|
<h5 class="mt-4 mb-3"><i class="bi bi-plug me-1"></i> Active Plugins</h5>
|
|
110
110
|
{% if site.plugins %}
|
|
111
111
|
<div class="row g-2">
|
|
@@ -124,7 +124,7 @@
|
|
|
124
124
|
<p class="text-body-secondary">No plugins configured.</p>
|
|
125
125
|
{% endif %}
|
|
126
126
|
|
|
127
|
-
|
|
127
|
+
{% comment %} URL Comparison (Dev vs Production) {% endcomment %}
|
|
128
128
|
<h5 class="mt-4 mb-3"><i class="bi bi-link-45deg me-1"></i> URL Configuration</h5>
|
|
129
129
|
<div class="table-responsive">
|
|
130
130
|
<table class="table table-sm">
|
|
@@ -143,7 +143,7 @@
|
|
|
143
143
|
</table>
|
|
144
144
|
</div>
|
|
145
145
|
|
|
146
|
-
|
|
146
|
+
{% comment %} Quick links back to admin {% endcomment %}
|
|
147
147
|
<div class="mt-4">
|
|
148
148
|
<a href="{{ '/about/config/' | relative_url }}" class="btn btn-outline-secondary btn-sm me-2">
|
|
149
149
|
<i class="bi bi-gear me-1"></i> Full Configuration
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{% comment %} Feature: ZER0-077 {% endcomment %}
|
|
2
|
-
|
|
2
|
+
{% comment %}
|
|
3
3
|
===================================================================
|
|
4
4
|
ENVIRONMENT SWITCHER - Dev/Prod URL Display and Toggle
|
|
5
5
|
===================================================================
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
Build time / Jekyll version live in theme-info.html (Theme & Build
|
|
26
26
|
section) — not duplicated here.
|
|
27
27
|
===================================================================
|
|
28
|
-
|
|
28
|
+
{% endcomment %}
|
|
29
29
|
|
|
30
30
|
{% assign dev_port = site.port | default: 4000 %}
|
|
31
31
|
{% comment %}Prod links must not use site.url during serve (Jekyll sets it to 0.0.0.0:4000 etc.){% endcomment %}
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
{% assign prod_url = canonical_prod_origin | append: site.baseurl %}
|
|
40
40
|
{% assign dev_url = "http://localhost:" | append: dev_port | append: site.baseurl %}
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
{% comment %} Environment Status Card {% endcomment %}
|
|
43
43
|
<div class="card mb-3 {% if is_production %}border-success{% else %}border-warning{% endif %}">
|
|
44
44
|
<div class="card-header d-flex align-items-center justify-content-between py-2 {% if is_production %}bg-success{% else %}bg-warning{% endif %} bg-opacity-10">
|
|
45
45
|
<span class="fw-semibold">
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
{% endif %}
|
|
58
58
|
</div>
|
|
59
59
|
<div class="card-body">
|
|
60
|
-
|
|
60
|
+
{% comment %} Active URL Display {% endcomment %}
|
|
61
61
|
<label class="form-label small text-body-secondary mb-1" for="currentUrlInput">
|
|
62
62
|
<i class="bi bi-link-45deg me-1" aria-hidden="true"></i>Current Page URL
|
|
63
63
|
</label>
|
|
@@ -79,7 +79,7 @@
|
|
|
79
79
|
</button>
|
|
80
80
|
</div>
|
|
81
81
|
|
|
82
|
-
|
|
82
|
+
{% comment %} Build context {% endcomment %}
|
|
83
83
|
<p class="small text-body-secondary mb-0 mt-3">
|
|
84
84
|
Built with <code>JEKYLL_ENV={{ build_env }}</code>.
|
|
85
85
|
{% if is_production %}
|
|
@@ -93,7 +93,7 @@
|
|
|
93
93
|
</div>
|
|
94
94
|
</div>
|
|
95
95
|
|
|
96
|
-
|
|
96
|
+
{% comment %} Quick URL Links {% endcomment %}
|
|
97
97
|
<div class="card border-secondary">
|
|
98
98
|
<div class="card-header py-2 bg-body-tertiary">
|
|
99
99
|
<span class="fw-semibold small">
|
|
@@ -101,7 +101,7 @@
|
|
|
101
101
|
</span>
|
|
102
102
|
</div>
|
|
103
103
|
<ul class="list-group list-group-flush">
|
|
104
|
-
|
|
104
|
+
{% comment %} Production URL {% endcomment %}
|
|
105
105
|
<li class="list-group-item d-flex justify-content-between align-items-center gap-2">
|
|
106
106
|
<div class="d-flex align-items-center min-w-0">
|
|
107
107
|
<span class="badge bg-success me-2">Prod</span>
|
|
@@ -133,7 +133,7 @@
|
|
|
133
133
|
</li>
|
|
134
134
|
|
|
135
135
|
{% unless is_production %}
|
|
136
|
-
|
|
136
|
+
{% comment %} Development URL (dev builds only — never leak localhost into production HTML) {% endcomment %}
|
|
137
137
|
<li class="list-group-item d-flex justify-content-between align-items-center gap-2">
|
|
138
138
|
<div class="d-flex align-items-center min-w-0">
|
|
139
139
|
<span class="badge bg-warning text-dark me-2">Dev</span>
|
|
@@ -166,7 +166,7 @@
|
|
|
166
166
|
{% endunless %}
|
|
167
167
|
|
|
168
168
|
{% if site.repository %}
|
|
169
|
-
|
|
169
|
+
{% comment %} GitHub Source {% endcomment %}
|
|
170
170
|
<li class="list-group-item d-flex justify-content-between align-items-center gap-2">
|
|
171
171
|
<div class="d-flex align-items-center min-w-0">
|
|
172
172
|
<span class="badge bg-dark me-2">Source</span>
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
{% comment %}
|
|
2
2
|
===================================================================
|
|
3
3
|
FEATURE CARD - Data-driven feature display from features.yml
|
|
4
4
|
===================================================================
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
{% assign f = site.data.features.features | where: "id", "ZER0-001" | first %}
|
|
29
29
|
{% include components/feature-card.html feature=f style="primary" icon="bi-bootstrap" icon_color="text-primary" %}
|
|
30
30
|
===================================================================
|
|
31
|
-
|
|
31
|
+
{% endcomment %}
|
|
32
32
|
{% assign f = include.feature %}
|
|
33
33
|
{% assign border = include.style %}
|
|
34
34
|
{% assign icon = include.icon | default: "bi-check-circle-fill" %}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{% comment %} Feature: ZER0-077 {% endcomment %}
|
|
2
|
-
|
|
2
|
+
{% comment %}
|
|
3
3
|
file: halfmoon.html
|
|
4
4
|
path: _includes/components/halfmoon.html
|
|
5
5
|
description: Dark / light / auto color-mode switcher (segmented control).
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
config: site.color_mode_lock: true removes the control entirely — the
|
|
13
13
|
site pins one mode and visitor switching is disabled
|
|
14
14
|
(halfmoon.js + core/color-mode-init.html enforce the same).
|
|
15
|
-
|
|
15
|
+
{% endcomment %}
|
|
16
16
|
{% unless site.color_mode_lock %}
|
|
17
17
|
<div class="btn-group bd-theme-switch {{ include.class | default: '' }}" role="group" aria-label="Color mode">
|
|
18
18
|
<button type="button" class="btn btn-outline-secondary btn-sm d-flex align-items-center justify-content-center gap-1" data-bs-theme-value="light" aria-pressed="false">
|