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
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
# Features: ZER0-019, ZER0-042
|
|
3
3
|
layout: root
|
|
4
4
|
---
|
|
5
|
-
|
|
5
|
+
{% comment %}
|
|
6
6
|
===================================================================
|
|
7
7
|
COMPREHENSIVE SITEMAP COLLECTION LAYOUT
|
|
8
8
|
===================================================================
|
|
@@ -33,20 +33,20 @@ layout: root
|
|
|
33
33
|
- Jekyll collections and site data
|
|
34
34
|
- Content statistics data (if available)
|
|
35
35
|
===================================================================
|
|
36
|
-
|
|
36
|
+
{% endcomment %}
|
|
37
37
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
{% comment %} ================================================ {% endcomment %}
|
|
39
|
+
{% comment %} SITEMAP HEADER AND OVERVIEW {% endcomment %}
|
|
40
|
+
{% comment %} ================================================ {% endcomment %}
|
|
41
41
|
<div class="container-fluid px-4">
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
{% comment %} Page Content {% endcomment %}
|
|
44
44
|
{{ content }}
|
|
45
45
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
46
|
+
{% comment %} ================================================ {% endcomment %}
|
|
47
|
+
{% comment %} SITE STATISTICS OVERVIEW {% endcomment %}
|
|
48
|
+
{% comment %} High-level metrics and site health {% endcomment %}
|
|
49
|
+
{% comment %} ================================================ {% endcomment %}
|
|
50
50
|
<div class="row mb-5">
|
|
51
51
|
<div class="col-12">
|
|
52
52
|
<div class="card border-primary">
|
|
@@ -72,7 +72,7 @@ layout: root
|
|
|
72
72
|
{% endfor %}
|
|
73
73
|
{% endfor %}
|
|
74
74
|
<div class="row g-3">
|
|
75
|
-
|
|
75
|
+
{% comment %} Published URLs (same count as Interactive Site Map table rows) {% endcomment %}
|
|
76
76
|
<div class="col-lg-2 col-md-4 col-sm-6">
|
|
77
77
|
<div class="text-center p-3 border rounded">
|
|
78
78
|
<i class="bi bi-file-text display-4 text-primary mb-2"></i>
|
|
@@ -81,7 +81,7 @@ layout: root
|
|
|
81
81
|
</div>
|
|
82
82
|
</div>
|
|
83
83
|
|
|
84
|
-
|
|
84
|
+
{% comment %} Total Posts {% endcomment %}
|
|
85
85
|
<div class="col-lg-2 col-md-4 col-sm-6">
|
|
86
86
|
<div class="text-center p-3 border rounded">
|
|
87
87
|
<i class="bi bi-journal-text display-4 text-success mb-2"></i>
|
|
@@ -90,7 +90,7 @@ layout: root
|
|
|
90
90
|
</div>
|
|
91
91
|
</div>
|
|
92
92
|
|
|
93
|
-
|
|
93
|
+
{% comment %} Collections Count {% endcomment %}
|
|
94
94
|
<div class="col-lg-2 col-md-4 col-sm-6">
|
|
95
95
|
<div class="text-center p-3 border rounded">
|
|
96
96
|
<i class="bi bi-collection display-4 text-info mb-2"></i>
|
|
@@ -99,7 +99,7 @@ layout: root
|
|
|
99
99
|
</div>
|
|
100
100
|
</div>
|
|
101
101
|
|
|
102
|
-
|
|
102
|
+
{% comment %} Data Files {% endcomment %}
|
|
103
103
|
<div class="col-lg-2 col-md-4 col-sm-6">
|
|
104
104
|
<div class="text-center p-3 border rounded">
|
|
105
105
|
<i class="bi bi-database display-4 text-warning mb-2"></i>
|
|
@@ -108,7 +108,7 @@ layout: root
|
|
|
108
108
|
</div>
|
|
109
109
|
</div>
|
|
110
110
|
|
|
111
|
-
|
|
111
|
+
{% comment %} Categories {% endcomment %}
|
|
112
112
|
<div class="col-lg-2 col-md-4 col-sm-6">
|
|
113
113
|
<div class="text-center p-3 border rounded">
|
|
114
114
|
<i class="bi bi-tags display-4 text-secondary mb-2"></i>
|
|
@@ -118,7 +118,7 @@ layout: root
|
|
|
118
118
|
</div>
|
|
119
119
|
</div>
|
|
120
120
|
|
|
121
|
-
|
|
121
|
+
{% comment %} Total Content (same as published outputs; avoids double-counting posts/collections) {% endcomment %}
|
|
122
122
|
<div class="col-lg-2 col-md-4 col-sm-6">
|
|
123
123
|
<div class="text-center p-3 border rounded">
|
|
124
124
|
<i class="bi bi-globe display-4 text-danger mb-2"></i>
|
|
@@ -132,10 +132,10 @@ layout: root
|
|
|
132
132
|
</div>
|
|
133
133
|
</div>
|
|
134
134
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
135
|
+
{% comment %} ================================================ {% endcomment %}
|
|
136
|
+
{% comment %} ENHANCED SITEMAP COMPONENT {% endcomment %}
|
|
137
|
+
{% comment %} Interactive search, filtering, and navigation {% endcomment %}
|
|
138
|
+
{% comment %} ================================================ {% endcomment %}
|
|
139
139
|
<div class="row mb-5">
|
|
140
140
|
<div class="col-12">
|
|
141
141
|
<div class="card">
|
|
@@ -152,10 +152,10 @@ layout: root
|
|
|
152
152
|
</div>
|
|
153
153
|
</div>
|
|
154
154
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
155
|
+
{% comment %} ================================================ {% endcomment %}
|
|
156
|
+
{% comment %} COLLECTIONS OVERVIEW {% endcomment %}
|
|
157
|
+
{% comment %} Detailed view of all Jekyll collections {% endcomment %}
|
|
158
|
+
{% comment %} ================================================ {% endcomment %}
|
|
159
159
|
<div class="row mb-5">
|
|
160
160
|
<div class="col-12">
|
|
161
161
|
<div class="card">
|
|
@@ -219,13 +219,13 @@ layout: root
|
|
|
219
219
|
</div>
|
|
220
220
|
</div>
|
|
221
221
|
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
222
|
+
{% comment %} ================================================ {% endcomment %}
|
|
223
|
+
{% comment %} SITE STRUCTURE ANALYSIS {% endcomment %}
|
|
224
|
+
{% comment %} Detailed breakdown of site organization {% endcomment %}
|
|
225
|
+
{% comment %} ================================================ {% endcomment %}
|
|
226
226
|
<div class="row mb-5">
|
|
227
227
|
<div class="col-lg-6">
|
|
228
|
-
|
|
228
|
+
{% comment %} Categories Analysis {% endcomment %}
|
|
229
229
|
<div class="card h-100">
|
|
230
230
|
<div class="card-header bg-info text-white">
|
|
231
231
|
<h4 class="mb-0">
|
|
@@ -257,7 +257,7 @@ layout: root
|
|
|
257
257
|
</div>
|
|
258
258
|
|
|
259
259
|
<div class="col-lg-6">
|
|
260
|
-
|
|
260
|
+
{% comment %} Tags Analysis {% endcomment %}
|
|
261
261
|
<div class="card h-100">
|
|
262
262
|
<div class="card-header bg-warning text-dark">
|
|
263
263
|
<h4 class="mb-0">
|
|
@@ -289,10 +289,10 @@ layout: root
|
|
|
289
289
|
</div>
|
|
290
290
|
</div>
|
|
291
291
|
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
292
|
+
{% comment %} ================================================ {% endcomment %}
|
|
293
|
+
{% comment %} RECENT ACTIVITY OVERVIEW {% endcomment %}
|
|
294
|
+
{% comment %} Latest content and updates {% endcomment %}
|
|
295
|
+
{% comment %} ================================================ {% endcomment %}
|
|
296
296
|
<div class="row mb-5">
|
|
297
297
|
<div class="col-12">
|
|
298
298
|
<div class="card">
|
|
@@ -304,7 +304,7 @@ layout: root
|
|
|
304
304
|
</div>
|
|
305
305
|
<div class="card-body">
|
|
306
306
|
<div class="row">
|
|
307
|
-
|
|
307
|
+
{% comment %} Recent Posts {% endcomment %}
|
|
308
308
|
<div class="col-lg-4">
|
|
309
309
|
<h5 class="border-bottom pb-2">Recent Posts</h5>
|
|
310
310
|
{% assign recent_posts = site.posts | sort: 'date' | reverse | limit: 5 %}
|
|
@@ -321,7 +321,7 @@ layout: root
|
|
|
321
321
|
{% endif %}
|
|
322
322
|
</div>
|
|
323
323
|
|
|
324
|
-
|
|
324
|
+
{% comment %} Recent Pages {% endcomment %}
|
|
325
325
|
<div class="col-lg-4">
|
|
326
326
|
<h5 class="border-bottom pb-2">Recent Pages</h5>
|
|
327
327
|
{% assign recent_pages = site.html_pages | sort: 'path' | reverse | limit: 5 %}
|
|
@@ -338,7 +338,7 @@ layout: root
|
|
|
338
338
|
{% endif %}
|
|
339
339
|
</div>
|
|
340
340
|
|
|
341
|
-
|
|
341
|
+
{% comment %} Quick Stats {% endcomment %}
|
|
342
342
|
<div class="col-lg-4">
|
|
343
343
|
<h5 class="border-bottom pb-2">Quick Stats</h5>
|
|
344
344
|
<ul class="list-unstyled">
|
|
@@ -366,10 +366,10 @@ layout: root
|
|
|
366
366
|
</div>
|
|
367
367
|
</div>
|
|
368
368
|
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
369
|
+
{% comment %} ================================================ {% endcomment %}
|
|
370
|
+
{% comment %} SITE HEALTH & PERFORMANCE {% endcomment %}
|
|
371
|
+
{% comment %} Optional advanced statistics if data available {% endcomment %}
|
|
372
|
+
{% comment %} ================================================ {% endcomment %}
|
|
373
373
|
{% if site.data.content_statistics %}
|
|
374
374
|
<div class="row mb-5">
|
|
375
375
|
<div class="col-12">
|
|
@@ -381,7 +381,7 @@ layout: root
|
|
|
381
381
|
</h3>
|
|
382
382
|
</div>
|
|
383
383
|
<div class="card-body">
|
|
384
|
-
|
|
384
|
+
{% comment %} Include existing stats components if available {% endcomment %}
|
|
385
385
|
{% include stats/stats-overview.html %}
|
|
386
386
|
|
|
387
387
|
<div class="row mt-4">
|
|
@@ -404,10 +404,10 @@ layout: root
|
|
|
404
404
|
|
|
405
405
|
</div>
|
|
406
406
|
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
407
|
+
{% comment %} ================================================ {% endcomment %}
|
|
408
|
+
{% comment %} ENHANCED SITEMAP JAVASCRIPT {% endcomment %}
|
|
409
|
+
{% comment %} Additional functionality for comprehensive view {% endcomment %}
|
|
410
|
+
{% comment %} ================================================ {% endcomment %}
|
|
411
411
|
<script>
|
|
412
412
|
document.addEventListener('DOMContentLoaded', function() {
|
|
413
413
|
// Initialize tooltips
|
|
@@ -440,9 +440,9 @@ document.addEventListener('DOMContentLoaded', function() {
|
|
|
440
440
|
});
|
|
441
441
|
</script>
|
|
442
442
|
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
443
|
+
{% comment %} ================================================ {% endcomment %}
|
|
444
|
+
{% comment %} SITEMAP-SPECIFIC STYLES {% endcomment %}
|
|
445
|
+
{% comment %} ================================================ {% endcomment %}
|
|
446
446
|
<style>
|
|
447
447
|
.sitemap-overview {
|
|
448
448
|
background: linear-gradient(135deg, var(--bs-primary-bg-subtle) 0%, var(--bs-success-bg-subtle) 100%);
|
data/_layouts/stats.html
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
# Features: ZER0-019, ZER0-043
|
|
3
3
|
layout: root
|
|
4
4
|
---
|
|
5
|
-
|
|
5
|
+
{% comment %}
|
|
6
6
|
===================================================================
|
|
7
7
|
STATS LAYOUT - Statistics dashboard layout
|
|
8
8
|
===================================================================
|
|
@@ -39,68 +39,68 @@ layout: root
|
|
|
39
39
|
- card: Card components for metric display
|
|
40
40
|
- badge: Badges for counts and labels
|
|
41
41
|
===================================================================
|
|
42
|
-
|
|
42
|
+
{% endcomment %}
|
|
43
43
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
44
|
+
{% comment %} ================================================ {% endcomment %}
|
|
45
|
+
{% comment %} STATS LAYOUT CONTAINER {% endcomment %}
|
|
46
|
+
{% comment %} Full-width responsive container for dashboard {% endcomment %}
|
|
47
|
+
{% comment %} ================================================ {% endcomment %}
|
|
48
48
|
<div class="container-fluid py-4">
|
|
49
49
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
50
|
+
{% comment %} ================================================ {% endcomment %}
|
|
51
|
+
{% comment %} STATS HEADER SECTION {% endcomment %}
|
|
52
|
+
{% comment %} Page title, description, and metadata {% endcomment %}
|
|
53
|
+
{% comment %} ================================================ {% endcomment %}
|
|
54
54
|
{% include stats/stats-header.html %}
|
|
55
55
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
56
|
+
{% comment %} ================================================ {% endcomment %}
|
|
57
|
+
{% comment %} STATS VALIDATION CHECK {% endcomment %}
|
|
58
|
+
{% comment %} Verify data availability before rendering {% endcomment %}
|
|
59
|
+
{% comment %} ================================================ {% endcomment %}
|
|
60
60
|
{% if site.data.content_statistics %}
|
|
61
61
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
62
|
+
{% comment %} ================================================ {% endcomment %}
|
|
63
|
+
{% comment %} OVERVIEW METRICS SECTION {% endcomment %}
|
|
64
|
+
{% comment %} High-level statistics cards {% endcomment %}
|
|
65
|
+
{% comment %} ================================================ {% endcomment %}
|
|
66
66
|
{% include stats/stats-overview.html %}
|
|
67
67
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
68
|
+
{% comment %} ================================================ {% endcomment %}
|
|
69
|
+
{% comment %} DETAILED ANALYTICS SECTIONS {% endcomment %}
|
|
70
|
+
{% comment %} Categories, tags, and metrics breakdown {% endcomment %}
|
|
71
|
+
{% comment %} ================================================ {% endcomment %}
|
|
72
72
|
<div class="row g-4 mb-5">
|
|
73
|
-
|
|
73
|
+
{% comment %} Categories Analysis {% endcomment %}
|
|
74
74
|
<div class="col-lg-6">
|
|
75
75
|
{% include stats/stats-categories.html %}
|
|
76
76
|
</div>
|
|
77
77
|
|
|
78
|
-
|
|
78
|
+
{% comment %} Tags Analysis {% endcomment %}
|
|
79
79
|
<div class="col-lg-6">
|
|
80
80
|
{% include stats/stats-tags.html %}
|
|
81
81
|
</div>
|
|
82
82
|
</div>
|
|
83
83
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
84
|
+
{% comment %} ================================================ {% endcomment %}
|
|
85
|
+
{% comment %} ADDITIONAL METRICS SECTION {% endcomment %}
|
|
86
|
+
{% comment %} Quick facts and summary information {% endcomment %}
|
|
87
|
+
{% comment %} ================================================ {% endcomment %}
|
|
88
88
|
{% include stats/stats-metrics.html %}
|
|
89
89
|
|
|
90
90
|
{% else %}
|
|
91
91
|
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
92
|
+
{% comment %} ================================================ {% endcomment %}
|
|
93
|
+
{% comment %} NO DATA AVAILABLE SECTION {% endcomment %}
|
|
94
|
+
{% comment %} Error state when statistics are not generated {% endcomment %}
|
|
95
|
+
{% comment %} ================================================ {% endcomment %}
|
|
96
96
|
{% include stats/stats-no-data.html %}
|
|
97
97
|
|
|
98
98
|
{% endif %}
|
|
99
99
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
100
|
+
{% comment %} ================================================ {% endcomment %}
|
|
101
|
+
{% comment %} MAIN CONTENT AREA {% endcomment %}
|
|
102
|
+
{% comment %} Additional page content below statistics {% endcomment %}
|
|
103
|
+
{% comment %} ================================================ {% endcomment %}
|
|
104
104
|
{% if content and content != empty %}
|
|
105
105
|
<div class="row mt-5">
|
|
106
106
|
<div class="col-12">
|
|
@@ -115,10 +115,10 @@ layout: root
|
|
|
115
115
|
|
|
116
116
|
</div>
|
|
117
117
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
118
|
+
{% comment %} ================================================ {% endcomment %}
|
|
119
|
+
{% comment %} STATS-SPECIFIC JAVASCRIPT {% endcomment %}
|
|
120
|
+
{% comment %} Initialize charts and interactive components {% endcomment %}
|
|
121
|
+
{% comment %} ================================================ {% endcomment %}
|
|
122
122
|
<script>
|
|
123
123
|
document.addEventListener('DOMContentLoaded', function() {
|
|
124
124
|
// Initialize tooltips for stats elements
|
data/_layouts/tag.html
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
# Feature: ZER0-019
|
|
3
3
|
layout: default
|
|
4
4
|
---
|
|
5
|
-
|
|
5
|
+
{% comment %}
|
|
6
6
|
===================================================================
|
|
7
7
|
TAG LAYOUT - Tag archive page displaying posts by tag
|
|
8
8
|
===================================================================
|
|
@@ -27,11 +27,11 @@ layout: default
|
|
|
27
27
|
- _includes/components/post-card.html: Reusable post card component
|
|
28
28
|
- Bootstrap 5 grid and badge components
|
|
29
29
|
===================================================================
|
|
30
|
-
|
|
30
|
+
{% endcomment %}
|
|
31
31
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
{% comment %} ========================== {% endcomment %}
|
|
33
|
+
{% comment %} TAG HEADER SECTION {% endcomment %}
|
|
34
|
+
{% comment %} ========================== {% endcomment %}
|
|
35
35
|
<header class="tag-header mb-5">
|
|
36
36
|
<nav aria-label="breadcrumb" class="mb-3">
|
|
37
37
|
<ol class="breadcrumb">
|
|
@@ -60,9 +60,9 @@ layout: default
|
|
|
60
60
|
{{ content }}
|
|
61
61
|
</header>
|
|
62
62
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
63
|
+
{% comment %} ========================== {% endcomment %}
|
|
64
|
+
{% comment %} TAGGED POSTS GRID {% endcomment %}
|
|
65
|
+
{% comment %} ========================== {% endcomment %}
|
|
66
66
|
<section class="tagged-posts">
|
|
67
67
|
{% if tag_posts.size > 0 %}
|
|
68
68
|
<div class="row row-cols-1 row-cols-md-2 row-cols-lg-3 g-4">
|
|
@@ -71,7 +71,7 @@ layout: default
|
|
|
71
71
|
{% endfor %}
|
|
72
72
|
</div>
|
|
73
73
|
{% else %}
|
|
74
|
-
|
|
74
|
+
{% comment %} Empty state {% endcomment %}
|
|
75
75
|
<div class="text-center py-5">
|
|
76
76
|
<i class="bi bi-tag fs-1 text-muted"></i>
|
|
77
77
|
<p class="text-muted mt-3">No posts with this tag yet.</p>
|
|
@@ -82,9 +82,9 @@ layout: default
|
|
|
82
82
|
{% endif %}
|
|
83
83
|
</section>
|
|
84
84
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
85
|
+
{% comment %} ========================== {% endcomment %}
|
|
86
|
+
{% comment %} RELATED TAGS {% endcomment %}
|
|
87
|
+
{% comment %} ========================== {% endcomment %}
|
|
88
88
|
{% comment %} Find tags that appear with this tag {% endcomment %}
|
|
89
89
|
{% assign related_tags = "" | split: "" %}
|
|
90
90
|
{% for post in tag_posts %}
|
data/_layouts/welcome.html
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
# Features: ZER0-019, ZER0-046
|
|
3
3
|
layout: root
|
|
4
4
|
---
|
|
5
|
-
|
|
5
|
+
{% comment %}
|
|
6
6
|
===================================================================
|
|
7
7
|
WELCOME LAYOUT — Onboarding landing page for new sites
|
|
8
8
|
===================================================================
|
|
@@ -36,15 +36,15 @@ layout: root
|
|
|
36
36
|
Gemfile (github-pages + jekyll-remote-theme)
|
|
37
37
|
index.md (this layout)
|
|
38
38
|
===================================================================
|
|
39
|
-
|
|
39
|
+
{% endcomment %}
|
|
40
40
|
|
|
41
41
|
{% include components/setup-check.html %}
|
|
42
42
|
|
|
43
43
|
{% if site_needs_setup %}
|
|
44
44
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
{% comment %} ============================================================ {% endcomment %}
|
|
46
|
+
{% comment %} HERO {% endcomment %}
|
|
47
|
+
{% comment %} ============================================================ {% endcomment %}
|
|
48
48
|
<section class="bg-body-tertiary border-bottom">
|
|
49
49
|
<div class="container-lg py-5">
|
|
50
50
|
<div class="row align-items-center g-4">
|
|
@@ -114,9 +114,9 @@ layout: root
|
|
|
114
114
|
</div>
|
|
115
115
|
</section>
|
|
116
116
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
117
|
+
{% comment %} ============================================================ {% endcomment %}
|
|
118
|
+
{% comment %} MINIMAL STARTER INSTRUCTIONS {% endcomment %}
|
|
119
|
+
{% comment %} ============================================================ {% endcomment %}
|
|
120
120
|
<section id="minimal-starter" class="container-lg py-5">
|
|
121
121
|
<div class="row justify-content-center">
|
|
122
122
|
<div class="col-lg-10">
|
|
@@ -129,7 +129,7 @@ layout: root
|
|
|
129
129
|
|
|
130
130
|
<div class="accordion mt-4" id="starterAccordion">
|
|
131
131
|
|
|
132
|
-
|
|
132
|
+
{% comment %} _config.yml {% endcomment %}
|
|
133
133
|
<div class="accordion-item">
|
|
134
134
|
<h3 class="accordion-header">
|
|
135
135
|
<button class="accordion-button" type="button"
|
|
@@ -171,7 +171,7 @@ site_configured: true
|
|
|
171
171
|
</div>
|
|
172
172
|
</div>
|
|
173
173
|
|
|
174
|
-
|
|
174
|
+
{% comment %} Gemfile {% endcomment %}
|
|
175
175
|
<div class="accordion-item">
|
|
176
176
|
<h3 class="accordion-header">
|
|
177
177
|
<button class="accordion-button collapsed" type="button"
|
|
@@ -197,7 +197,7 @@ gem "webrick", "~> 1.7"
|
|
|
197
197
|
</div>
|
|
198
198
|
</div>
|
|
199
199
|
|
|
200
|
-
|
|
200
|
+
{% comment %} index.md {% endcomment %}
|
|
201
201
|
<div class="accordion-item">
|
|
202
202
|
<h3 class="accordion-header">
|
|
203
203
|
<button class="accordion-button collapsed" type="button"
|
|
@@ -232,7 +232,7 @@ is set in `_config.yml`.
|
|
|
232
232
|
</div>
|
|
233
233
|
</div>
|
|
234
234
|
|
|
235
|
-
</div
|
|
235
|
+
</div>{% comment %} /accordion {% endcomment %}
|
|
236
236
|
|
|
237
237
|
<div class="alert alert-info d-flex align-items-start mt-4" role="alert">
|
|
238
238
|
<i class="bi bi-info-circle-fill me-2 mt-1"></i>
|
|
@@ -248,16 +248,16 @@ is set in `_config.yml`.
|
|
|
248
248
|
</div>
|
|
249
249
|
</section>
|
|
250
250
|
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
251
|
+
{% comment %} ============================================================ {% endcomment %}
|
|
252
|
+
{% comment %} SETUP WIZARD {% endcomment %}
|
|
253
|
+
{% comment %} ============================================================ {% endcomment %}
|
|
254
254
|
<section id="setup-wizard" class="bg-body-tertiary border-top py-5">
|
|
255
255
|
{% include setup/wizard.html %}
|
|
256
256
|
</section>
|
|
257
257
|
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
258
|
+
{% comment %} ============================================================ {% endcomment %}
|
|
259
|
+
{% comment %} NEXT STEPS / RESOURCES {% endcomment %}
|
|
260
|
+
{% comment %} ============================================================ {% endcomment %}
|
|
261
261
|
<section class="container-lg py-5">
|
|
262
262
|
<h2 class="mb-4"><i class="bi bi-signpost-2"></i> Next steps</h2>
|
|
263
263
|
<div class="row g-3">
|
|
@@ -321,9 +321,9 @@ is set in `_config.yml`.
|
|
|
321
321
|
|
|
322
322
|
{% else %}
|
|
323
323
|
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
324
|
+
{% comment %} ============================================================ {% endcomment %}
|
|
325
|
+
{% comment %} CONFIGURED SITE — render the user's content {% endcomment %}
|
|
326
|
+
{% comment %} ============================================================ {% endcomment %}
|
|
327
327
|
<div class="container-lg py-4">
|
|
328
328
|
<div class="row justify-content-center">
|
|
329
329
|
<div class="col-lg-10">
|
|
@@ -64,6 +64,12 @@
|
|
|
64
64
|
}
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
+
// Element-agnostic: applied to <a> (external credits), <span> (credits with
|
|
68
|
+
// no url) and <button> (the in-page "Info" dialog trigger — it opens the
|
|
69
|
+
// #info-section offcanvas rather than navigating, so it is a button, not a
|
|
70
|
+
// link; WCAG 4.1.2). Reboot already inherits margin/font for <button>, but
|
|
71
|
+
// not background, border or colour — reset those and restate the colours
|
|
72
|
+
// `.bd-footer a` supplies so all three elements render identically.
|
|
67
73
|
.powered-by-link {
|
|
68
74
|
display: inline-flex;
|
|
69
75
|
align-items: center;
|
|
@@ -75,10 +81,18 @@
|
|
|
75
81
|
text-decoration: none;
|
|
76
82
|
border-radius: var(--bs-border-radius-sm, 0.25rem);
|
|
77
83
|
white-space: nowrap;
|
|
84
|
+
// Reboot sets `-webkit-appearance: button`, which the unprefixed property
|
|
85
|
+
// does not cancel on older WebKit — reset both.
|
|
86
|
+
-webkit-appearance: none;
|
|
87
|
+
appearance: none;
|
|
88
|
+
background: none;
|
|
89
|
+
border: 0;
|
|
90
|
+
color: var(--bs-body-color);
|
|
78
91
|
|
|
79
92
|
&:hover,
|
|
80
93
|
&:focus-visible {
|
|
81
94
|
text-decoration: none;
|
|
95
|
+
color: var(--bs-link-hover-color);
|
|
82
96
|
}
|
|
83
97
|
}
|
|
84
98
|
|
|
@@ -132,6 +146,9 @@
|
|
|
132
146
|
// Block padding grows the tap target without changing the visual text size;
|
|
133
147
|
// icon links get an explicit minimum box. (`d-block` links — e.g. the
|
|
134
148
|
// truncated Latest Posts titles — keep their display but gain the padding.)
|
|
149
|
+
// `> button` is matched alongside `> a` because the policy row's "Cookie
|
|
150
|
+
// Preferences" control is a <button> (it opens a modal rather than
|
|
151
|
+
// navigating) and must keep the same 1.75rem tap target as its siblings.
|
|
135
152
|
.footer-dark-block {
|
|
136
153
|
ul.list-unstyled li > a,
|
|
137
154
|
p > a {
|
|
@@ -139,7 +156,8 @@
|
|
|
139
156
|
padding-block: 0.25rem;
|
|
140
157
|
}
|
|
141
158
|
|
|
142
|
-
ul.list-inline li > a
|
|
159
|
+
ul.list-inline li > a,
|
|
160
|
+
ul.list-inline li > button {
|
|
143
161
|
display: inline-flex;
|
|
144
162
|
align-items: center;
|
|
145
163
|
justify-content: center;
|
|
@@ -171,6 +189,24 @@
|
|
|
171
189
|
}
|
|
172
190
|
}
|
|
173
191
|
|
|
192
|
+
// A <button> that must sit in running text exactly like the <a> beside it —
|
|
193
|
+
// used by the "Cookie Preferences" control, which opens #cookieSettingsModal
|
|
194
|
+
// rather than navigating (WCAG 4.1.2). Reboot inherits margin/font for
|
|
195
|
+
// <button> but leaves the UA background, border and padding in place, so
|
|
196
|
+
// strip those; colour comes from the `.text-light` utility as before.
|
|
197
|
+
.footer-inline-button {
|
|
198
|
+
// Reboot sets `-webkit-appearance: button`, which the unprefixed property
|
|
199
|
+
// does not cancel on older WebKit — reset both.
|
|
200
|
+
-webkit-appearance: none;
|
|
201
|
+
appearance: none;
|
|
202
|
+
background: none;
|
|
203
|
+
border: 0;
|
|
204
|
+
padding: 0;
|
|
205
|
+
vertical-align: baseline;
|
|
206
|
+
text-align: inherit;
|
|
207
|
+
cursor: pointer;
|
|
208
|
+
}
|
|
209
|
+
|
|
174
210
|
.footer-policy-links {
|
|
175
211
|
@media (max-width: 767.98px) {
|
|
176
212
|
font-size: 0.8125rem;
|