jekyll-theme-zer0 1.29.0 → 1.31.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 +886 -2
- data/_data/README.md +2 -0
- data/_data/ai.yml +5 -3
- data/_data/ai_pricing.yml +36 -0
- data/_data/backlog.yml +196 -22
- data/_data/consumers.yml +147 -5
- data/_data/features.yml +147 -21
- data/_data/feedback_types.yml +17 -12
- data/_data/landing.yml +5 -2
- data/_data/navigation/quickstart.yml +4 -0
- data/_data/site_builder.yml +874 -0
- data/_data/theme-manifest.yml +132 -122
- data/_data/ui-text.yml +19 -0
- data/_includes/README.md +11 -1
- data/_includes/analytics/posthog.html +30 -11
- data/_includes/components/README.md +1 -1
- 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 +8 -8
- data/_includes/components/background-image.html +120 -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 +41 -41
- 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 +36 -36
- data/_includes/components/js-cdn.html +15 -15
- data/_includes/components/language-toggle.html +4 -4
- data/_includes/components/mermaid.html +79 -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 +1 -1
- 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 +28 -3
- data/_includes/components/quick-index.html +2 -2
- data/_includes/components/search-modal.html +27 -2
- data/_includes/components/searchbar.html +2 -2
- data/_includes/components/svg-background.html +2 -2
- data/_includes/components/theme-customizer.html +2 -2
- data/_includes/components/theme-info.html +6 -6
- data/_includes/components/theme-preview-gallery.html +23 -23
- data/_includes/content/giscus.html +2 -2
- data/_includes/content/intro.html +15 -8
- data/_includes/content/jsonld-faq.html +2 -2
- data/_includes/content/jsonld-software.html +2 -2
- data/_includes/content/seo.html +12 -4
- data/_includes/content/sitemap.html +247 -290
- data/_includes/content/toc.html +183 -183
- data/_includes/core/branding.html +13 -20
- 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 +31 -18
- data/_includes/core/head.html +128 -92
- data/_includes/core/header.html +85 -54
- data/_includes/core/tokens-inline.html +16 -1
- 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 +21 -18
- data/_includes/navigation/section-sidebar.html +16 -16
- data/_includes/navigation/sidebar-config.html +36 -2
- data/_includes/navigation/sidebar-left.html +15 -15
- data/_includes/navigation/sidebar-right.html +6 -6
- 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 +910 -291
- data/_includes/stats/stats-categories.html +8 -8
- data/_includes/stats/stats-header.html +14 -14
- data/_includes/stats/stats-metrics.html +12 -12
- 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/admin.html +22 -22
- data/_layouts/article.html +54 -37
- 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 +12 -12
- data/_layouts/default.html +27 -24
- data/_layouts/home.html +36 -24
- data/_layouts/index.html +10 -10
- data/_layouts/landing.html +17 -17
- data/_layouts/news.html +44 -44
- data/_layouts/note.html +40 -39
- data/_layouts/notebook.html +36 -35
- data/_layouts/recipe.html +24 -24
- data/_layouts/root.html +95 -55
- data/_layouts/section.html +23 -23
- 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/_cookie-banner.scss +48 -0
- data/_sass/components/_mermaid.scss +375 -0
- data/_sass/components/_setup-wizard.scss +588 -41
- data/_sass/components/_ui-enhancements.scss +11 -0
- data/_sass/core/_navbar.scss +147 -100
- data/_sass/core/_sidebar-extras.scss +2 -14
- data/_sass/core/code-copy.scss +27 -8
- data/_sass/layouts/_navbar-extras.scss +14 -4
- data/assets/css/extension-points-demo.css +27 -0
- data/assets/css/main.scss +1 -0
- data/assets/data/wiki-index.json +19 -0
- data/assets/js/ai-chat.js +47 -5
- data/assets/js/auto-hide-nav.js +53 -13
- data/assets/js/code-copy.js +72 -1
- data/assets/js/extension-points-demo.js +48 -0
- data/assets/js/fleet-feedback-capture.js +124 -0
- data/assets/js/fleet-feedback.js +853 -0
- data/assets/js/mermaid-diagrams.js +1373 -0
- data/assets/js/modules/navigation/config.js +9 -6
- data/assets/js/modules/navigation/scroll-spy.js +315 -80
- data/assets/js/modules/theme/appearance.js +8 -2
- data/assets/js/obsidian-local-graph.js +27 -5
- data/assets/js/obsidian-wiki-links.js +8 -3
- data/assets/js/page-feedback.js +125 -192
- data/assets/js/search-modal.js +26 -0
- data/assets/js/setup-wizard.js +2119 -363
- data/assets/js/site-builder.js +1834 -0
- data/assets/js/ui-enhancements.js +11 -3
- data/scripts/README.md +15 -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/ci/test_visual_evidence_autogen.py +403 -0
- data/scripts/ci/visual_evidence_autogen.py +1070 -0
- data/scripts/content-review.rb +20 -1
- data/scripts/features/install-preview-generator +1 -1
- data/scripts/lib/README.md +12 -0
- data/scripts/lib/preview_generator.py +2 -2
- data/scripts/test/integration/mermaid +22 -8
- data/scripts/test/lib/run_tests.sh +1 -0
- data/scripts/test/lib/test_visual_evidence_autogen.sh +24 -0
- data/scripts/translate.rb +23 -1
- metadata +21 -2
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{% comment %} Feature: ZER0-065 {% endcomment %}
|
|
2
|
-
|
|
2
|
+
{% comment %}
|
|
3
3
|
Theme Preview — component gallery for live skin / mode testing.
|
|
4
4
|
Pair with theme-controls-bar.html and theme-customizer.js.
|
|
5
|
-
|
|
5
|
+
{% endcomment %}
|
|
6
6
|
<div class="theme-preview-gallery" id="theme-preview-gallery">
|
|
7
7
|
|
|
8
8
|
<p class="text-body-secondary">
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
<code>theme_color</code> may take precedence over skin tokens for <code>--zer0-color-*</code> variables.
|
|
12
12
|
</p>
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
{% comment %} Typography {% endcomment %}
|
|
15
15
|
<section class="theme-preview-section" id="preview-typography" aria-labelledby="preview-typography-heading">
|
|
16
16
|
<h2 class="h4 theme-preview-heading" id="preview-typography-heading">
|
|
17
17
|
<i class="bi bi-fonts me-2" aria-hidden="true"></i>Typography
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
</div>
|
|
34
34
|
</section>
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
{% comment %} Buttons {% endcomment %}
|
|
37
37
|
<section class="theme-preview-section" id="preview-buttons" aria-labelledby="preview-buttons-heading">
|
|
38
38
|
<h2 class="h4 theme-preview-heading" id="preview-buttons-heading">
|
|
39
39
|
<i class="bi bi-hand-index-thumb me-2" aria-hidden="true"></i>Buttons
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
</div>
|
|
60
60
|
</section>
|
|
61
61
|
|
|
62
|
-
|
|
62
|
+
{% comment %} Alerts {% endcomment %}
|
|
63
63
|
<section class="theme-preview-section" id="preview-alerts" aria-labelledby="preview-alerts-heading">
|
|
64
64
|
<h2 class="h4 theme-preview-heading" id="preview-alerts-heading">
|
|
65
65
|
<i class="bi bi-exclamation-triangle me-2" aria-hidden="true"></i>Alerts
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
<div class="alert alert-info" role="alert">Info alert</div>
|
|
73
73
|
</section>
|
|
74
74
|
|
|
75
|
-
|
|
75
|
+
{% comment %} Cards {% endcomment %}
|
|
76
76
|
<section class="theme-preview-section" id="preview-cards" aria-labelledby="preview-cards-heading">
|
|
77
77
|
<h2 class="h4 theme-preview-heading" id="preview-cards-heading">
|
|
78
78
|
<i class="bi bi-card-heading me-2" aria-hidden="true"></i>Cards
|
|
@@ -100,7 +100,7 @@
|
|
|
100
100
|
</div>
|
|
101
101
|
</section>
|
|
102
102
|
|
|
103
|
-
|
|
103
|
+
{% comment %} Forms {% endcomment %}
|
|
104
104
|
<section class="theme-preview-section" id="preview-forms" aria-labelledby="preview-forms-heading">
|
|
105
105
|
<h2 class="h4 theme-preview-heading" id="preview-forms-heading">
|
|
106
106
|
<i class="bi bi-input-cursor-text me-2" aria-hidden="true"></i>Forms
|
|
@@ -134,7 +134,7 @@
|
|
|
134
134
|
</div>
|
|
135
135
|
</section>
|
|
136
136
|
|
|
137
|
-
|
|
137
|
+
{% comment %} Nav tabs {% endcomment %}
|
|
138
138
|
<section class="theme-preview-section" id="preview-tabs" aria-labelledby="preview-tabs-heading">
|
|
139
139
|
<h2 class="h4 theme-preview-heading" id="preview-tabs-heading">
|
|
140
140
|
<i class="bi bi-layout-text-window-reverse me-2" aria-hidden="true"></i>Nav tabs
|
|
@@ -152,7 +152,7 @@
|
|
|
152
152
|
</ul>
|
|
153
153
|
</section>
|
|
154
154
|
|
|
155
|
-
|
|
155
|
+
{% comment %} Badges {% endcomment %}
|
|
156
156
|
<section class="theme-preview-section" id="preview-badges" aria-labelledby="preview-badges-heading">
|
|
157
157
|
<h2 class="h4 theme-preview-heading" id="preview-badges-heading">
|
|
158
158
|
<i class="bi bi-award me-2" aria-hidden="true"></i>Badges
|
|
@@ -168,7 +168,7 @@
|
|
|
168
168
|
</p>
|
|
169
169
|
</section>
|
|
170
170
|
|
|
171
|
-
|
|
171
|
+
{% comment %} Code blocks {% endcomment %}
|
|
172
172
|
<section class="theme-preview-section" id="preview-code" aria-labelledby="preview-code-heading">
|
|
173
173
|
<h2 class="h4 theme-preview-heading" id="preview-code-heading">
|
|
174
174
|
<i class="bi bi-code-slash me-2" aria-hidden="true"></i>Code blocks
|
|
@@ -214,7 +214,7 @@ docker-compose up
|
|
|
214
214
|
{% endhighlight %}
|
|
215
215
|
</section>
|
|
216
216
|
|
|
217
|
-
|
|
217
|
+
{% comment %} Links {% endcomment %}
|
|
218
218
|
<section class="theme-preview-section" id="preview-links" aria-labelledby="preview-links-heading">
|
|
219
219
|
<h2 class="h4 theme-preview-heading" id="preview-links-heading">
|
|
220
220
|
<i class="bi bi-link-45deg me-2" aria-hidden="true"></i>Links
|
|
@@ -226,7 +226,7 @@ docker-compose up
|
|
|
226
226
|
</p>
|
|
227
227
|
</section>
|
|
228
228
|
|
|
229
|
-
|
|
229
|
+
{% comment %} Navbar snippet {% endcomment %}
|
|
230
230
|
<section class="theme-preview-section" id="preview-navbar" aria-labelledby="preview-navbar-heading">
|
|
231
231
|
<h2 class="h4 theme-preview-heading" id="preview-navbar-heading">
|
|
232
232
|
<i class="bi bi-layout-navbar me-2" aria-hidden="true"></i>Navbar snippet
|
|
@@ -244,7 +244,7 @@ docker-compose up
|
|
|
244
244
|
</nav>
|
|
245
245
|
</section>
|
|
246
246
|
|
|
247
|
-
|
|
247
|
+
{% comment %} Footer snippet {% endcomment %}
|
|
248
248
|
<section class="theme-preview-section" id="preview-footer" aria-labelledby="preview-footer-heading">
|
|
249
249
|
<h2 class="h4 theme-preview-heading" id="preview-footer-heading">
|
|
250
250
|
<i class="bi bi-layout-text-sidebar-reverse me-2" aria-hidden="true"></i>Footer snippet
|
|
@@ -269,7 +269,7 @@ docker-compose up
|
|
|
269
269
|
</footer>
|
|
270
270
|
</section>
|
|
271
271
|
|
|
272
|
-
|
|
272
|
+
{% comment %} Table {% endcomment %}
|
|
273
273
|
<section class="theme-preview-section" id="preview-table" aria-labelledby="preview-table-heading">
|
|
274
274
|
<h2 class="h4 theme-preview-heading" id="preview-table-heading">
|
|
275
275
|
<i class="bi bi-table me-2" aria-hidden="true"></i>Table
|
|
@@ -288,7 +288,7 @@ docker-compose up
|
|
|
288
288
|
</div>
|
|
289
289
|
</section>
|
|
290
290
|
|
|
291
|
-
|
|
291
|
+
{% comment %} List group {% endcomment %}
|
|
292
292
|
<section class="theme-preview-section" id="preview-list-group" aria-labelledby="preview-list-group-heading">
|
|
293
293
|
<h2 class="h4 theme-preview-heading" id="preview-list-group-heading">
|
|
294
294
|
<i class="bi bi-list-ul me-2" aria-hidden="true"></i>List group
|
|
@@ -300,7 +300,7 @@ docker-compose up
|
|
|
300
300
|
</ul>
|
|
301
301
|
</section>
|
|
302
302
|
|
|
303
|
-
|
|
303
|
+
{% comment %} Backgrounds {% endcomment %}
|
|
304
304
|
<section class="theme-preview-section" id="preview-backgrounds" aria-labelledby="preview-backgrounds-heading">
|
|
305
305
|
<h2 class="h4 theme-preview-heading" id="preview-backgrounds-heading">
|
|
306
306
|
<i class="bi bi-image me-2" aria-hidden="true"></i>Background layers
|
|
@@ -324,7 +324,7 @@ docker-compose up
|
|
|
324
324
|
</div>
|
|
325
325
|
</section>
|
|
326
326
|
|
|
327
|
-
|
|
327
|
+
{% comment %} Callouts {% endcomment %}
|
|
328
328
|
<section class="theme-preview-section" id="preview-callouts" aria-labelledby="preview-callouts-heading">
|
|
329
329
|
<h2 class="h4 theme-preview-heading" id="preview-callouts-heading">
|
|
330
330
|
<i class="bi bi-chat-square-text me-2" aria-hidden="true"></i>Callouts
|
|
@@ -341,7 +341,7 @@ docker-compose up
|
|
|
341
341
|
{% include components/callout.html type="danger" title="Danger" content=_danger_body %}
|
|
342
342
|
</section>
|
|
343
343
|
|
|
344
|
-
|
|
344
|
+
{% comment %} Accordion {% endcomment %}
|
|
345
345
|
<section class="theme-preview-section" id="preview-accordion" aria-labelledby="preview-accordion-heading">
|
|
346
346
|
<h2 class="h4 theme-preview-heading" id="preview-accordion-heading">
|
|
347
347
|
<i class="bi bi-chevron-bar-expand me-2" aria-hidden="true"></i>Accordion
|
|
@@ -382,7 +382,7 @@ docker-compose up
|
|
|
382
382
|
</div>
|
|
383
383
|
</section>
|
|
384
384
|
|
|
385
|
-
|
|
385
|
+
{% comment %} Progress & Spinners {% endcomment %}
|
|
386
386
|
<section class="theme-preview-section" id="preview-progress" aria-labelledby="preview-progress-heading">
|
|
387
387
|
<h2 class="h4 theme-preview-heading" id="preview-progress-heading">
|
|
388
388
|
<i class="bi bi-hourglass-split me-2" aria-hidden="true"></i>Progress & Spinners
|
|
@@ -434,7 +434,7 @@ docker-compose up
|
|
|
434
434
|
</div>
|
|
435
435
|
</section>
|
|
436
436
|
|
|
437
|
-
|
|
437
|
+
{% comment %} Breadcrumb & Pagination {% endcomment %}
|
|
438
438
|
<section class="theme-preview-section" id="preview-breadcrumb" aria-labelledby="preview-breadcrumb-heading">
|
|
439
439
|
<h2 class="h4 theme-preview-heading" id="preview-breadcrumb-heading">
|
|
440
440
|
<i class="bi bi-signpost-split me-2" aria-hidden="true"></i>Breadcrumb & Pagination
|
|
@@ -479,7 +479,7 @@ docker-compose up
|
|
|
479
479
|
</div>
|
|
480
480
|
</section>
|
|
481
481
|
|
|
482
|
-
|
|
482
|
+
{% comment %} Tooltips & Popovers {% endcomment %}
|
|
483
483
|
<section class="theme-preview-section" id="preview-tooltips" aria-labelledby="preview-tooltips-heading">
|
|
484
484
|
<h2 class="h4 theme-preview-heading" id="preview-tooltips-heading">
|
|
485
485
|
<i class="bi bi-chat-dots me-2" aria-hidden="true"></i>Tooltips & Popovers
|
|
@@ -503,7 +503,7 @@ docker-compose up
|
|
|
503
503
|
</div>
|
|
504
504
|
</section>
|
|
505
505
|
|
|
506
|
-
|
|
506
|
+
{% comment %} Icons showcase {% endcomment %}
|
|
507
507
|
<section class="theme-preview-section" id="preview-icons" aria-labelledby="preview-icons-heading">
|
|
508
508
|
<h2 class="h4 theme-preview-heading" id="preview-icons-heading">
|
|
509
509
|
<i class="bi bi-grid me-2" aria-hidden="true"></i>Bootstrap Icons
|
|
@@ -519,7 +519,7 @@ docker-compose up
|
|
|
519
519
|
<i class="bi bi-person-circle" title="bi-person-circle"></i>
|
|
520
520
|
<i class="bi bi-palette" title="bi-palette"></i>
|
|
521
521
|
<i class="bi bi-code-slash" title="bi-code-slash"></i>
|
|
522
|
-
<i class="bi bi-file-earmark-text"title="bi-file-earmark-text"></i>
|
|
522
|
+
<i class="bi bi-file-earmark-text" title="bi-file-earmark-text"></i>
|
|
523
523
|
<i class="bi bi-check-circle text-success" title="success"></i>
|
|
524
524
|
<i class="bi bi-x-circle text-danger" title="danger"></i>
|
|
525
525
|
<i class="bi bi-exclamation-triangle text-warning" title="warning"></i>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{% comment %} Feature: ZER0-035 {% endcomment %}
|
|
2
|
-
|
|
2
|
+
{% comment %}
|
|
3
3
|
giscus.html — GitHub Discussions comment system
|
|
4
4
|
===============================================
|
|
5
5
|
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
NOTE: do not write a bare `include giscus.html` example with live Liquid
|
|
31
31
|
braces inside this file — Liquid evaluates tags even inside HTML comments,
|
|
32
32
|
which would recursively (and wrongly) try to include "giscus.html".
|
|
33
|
-
|
|
33
|
+
{% endcomment %}
|
|
34
34
|
|
|
35
35
|
<script src="https://giscus.app/client.js"
|
|
36
36
|
data-repo="{{ site.repository }}"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
{% comment %}
|
|
2
2
|
file: _includes/content/intro.html
|
|
3
3
|
description: Enhanced intro section with share, edit, and improve/report buttons
|
|
4
4
|
path: _includes/content/intro.html
|
|
@@ -12,14 +12,14 @@
|
|
|
12
12
|
- Responsive flex layout: full-width content block, frosted metadata footer with reading time and action buttons
|
|
13
13
|
- Balanced padding and typography hierarchy via bd-intro-* classes
|
|
14
14
|
- Metadata row: author, dates, category, difficulty, tags, view source
|
|
15
|
-
|
|
15
|
+
{% endcomment %}
|
|
16
16
|
{%- include core/i18n.html -%}
|
|
17
17
|
{% if page.collection %}
|
|
18
18
|
{% capture page_dir %}{{ site.collections_dir }}{% endcapture %}
|
|
19
19
|
{% assign testvar = "collection exists" %}
|
|
20
20
|
{% endif %}
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
{% comment %} Intro Section {% endcomment %}
|
|
23
23
|
|
|
24
24
|
{% comment %}
|
|
25
25
|
Determine the preview image path. Preview paths can omit the /assets/ prefix.
|
|
@@ -29,6 +29,13 @@
|
|
|
29
29
|
{% assign assets_prefix = site.preview_images.assets_prefix | default: '/assets' %}
|
|
30
30
|
{% assign auto_prefix = site.preview_images.auto_prefix | default: true %}
|
|
31
31
|
|
|
32
|
+
{% comment %} Leading-slash normalisation, as in components/preview-image.html:
|
|
33
|
+
`preview: images/x.png` used to resolve to /assetsimages/x.png. {% endcomment %}
|
|
34
|
+
{% unless preview_image == nil or preview_image == "" or preview_image contains '://' or preview_image contains 'data:' %}
|
|
35
|
+
{% assign preview_first = preview_image | slice: 0 %}
|
|
36
|
+
{% if preview_first != '/' %}{% assign preview_image = '/' | append: preview_image %}{% endif %}
|
|
37
|
+
{% endunless %}
|
|
38
|
+
|
|
32
39
|
{% if preview_image contains '://' %}
|
|
33
40
|
{% assign preview_path = preview_image %}
|
|
34
41
|
{% elsif auto_prefix and preview_image != blank %}
|
|
@@ -228,9 +235,9 @@
|
|
|
228
235
|
{% endif %}
|
|
229
236
|
</p>
|
|
230
237
|
|
|
231
|
-
|
|
238
|
+
{% comment %} Action Buttons Group {% endcomment %}
|
|
232
239
|
<div class="bd-intro-actions">
|
|
233
|
-
|
|
240
|
+
{% comment %} Share Button {% endcomment %}
|
|
234
241
|
<div class="dropdown">
|
|
235
242
|
<button class="btn btn-sm btn-info dropdown-toggle" type="button" id="shareDropdownBottom" data-bs-toggle="dropdown" aria-expanded="false">
|
|
236
243
|
<i class="bi bi-share" aria-hidden="true"></i>
|
|
@@ -273,10 +280,10 @@
|
|
|
273
280
|
</ul>
|
|
274
281
|
</div>
|
|
275
282
|
|
|
276
|
-
|
|
283
|
+
{% comment %} Improve / Report — opens the page-feedback widget (assets/js/page-feedback.js).
|
|
277
284
|
Progressive enhancement: this is a real link to the issue form, so it
|
|
278
285
|
works without JavaScript; page-feedback.js intercepts [data-pf-open]
|
|
279
|
-
clicks and opens the richer capture modal (context + logs + AI) instead.
|
|
286
|
+
clicks and opens the richer capture modal (context + logs + AI) instead. {% endcomment %}
|
|
280
287
|
{% if site.page_feedback.enabled %}
|
|
281
288
|
<a class="btn btn-sm btn-success bd-intro-action-link"
|
|
282
289
|
href="https://github.com/{{ site.repository }}/issues/new?template=page_improvement.yml&labels=page-feedback"
|
|
@@ -289,7 +296,7 @@
|
|
|
289
296
|
</a>
|
|
290
297
|
{% endif %}
|
|
291
298
|
|
|
292
|
-
|
|
299
|
+
{% comment %} Edit on GitHub Button {% endcomment %}
|
|
293
300
|
<a href="https://github.com/{{ site.repository }}/blob/{{ repo_branch }}/{{ file_path }}"
|
|
294
301
|
class="btn btn-sm btn-dark bd-intro-action-link"
|
|
295
302
|
target="_blank"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{% comment %} Feature: ZER0-054 {% endcomment %}
|
|
2
|
-
|
|
2
|
+
{% comment %}
|
|
3
3
|
===================================================================
|
|
4
4
|
JSON-LD FAQ SCHEMA - FAQPage Structured Data
|
|
5
5
|
===================================================================
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
Dependencies:
|
|
25
25
|
- Page front matter with faq_items array
|
|
26
26
|
===================================================================
|
|
27
|
-
|
|
27
|
+
{% endcomment %}
|
|
28
28
|
|
|
29
29
|
{% if page.faq_items and page.faq_items.size > 0 %}
|
|
30
30
|
<script type="application/ld+json">
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
{% comment %}
|
|
2
2
|
===================================================================
|
|
3
3
|
JSON-LD STRUCTURED DATA - SoftwareApplication + WebPage Schema
|
|
4
4
|
===================================================================
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
- Included automatically in _includes/core/head.html
|
|
38
38
|
- Conditional: opted in AND page.permalink == "/"
|
|
39
39
|
===================================================================
|
|
40
|
-
|
|
40
|
+
{% endcomment %}
|
|
41
41
|
|
|
42
42
|
{%- assign _is_homepage = false -%}
|
|
43
43
|
{%- if page.permalink == "/" or page.url == "/" -%}
|
data/_includes/content/seo.html
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{% comment %} Features: ZER0-041, ZER0-054 {% endcomment %}
|
|
2
|
-
|
|
2
|
+
{% comment %}
|
|
3
3
|
===================================================================
|
|
4
4
|
SEO SUPPLEMENT - Additional meta tags not covered by jekyll-seo-tag
|
|
5
5
|
===================================================================
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
- jekyll-seo-tag plugin (loaded in _layouts/root.html via seo tags)
|
|
23
23
|
- site.preview_images config in _config.yml
|
|
24
24
|
===================================================================
|
|
25
|
-
|
|
25
|
+
{% endcomment %}
|
|
26
26
|
|
|
27
27
|
{%- comment -%}
|
|
28
28
|
Custom og:image handling: supports page.preview and page.header.og_image
|
|
@@ -43,6 +43,14 @@
|
|
|
43
43
|
nil seo_image — og:image was silently dropped on every page without a
|
|
44
44
|
page.header image, defeating the site.og_image fallback entirely.
|
|
45
45
|
{%- endcomment -%}
|
|
46
|
+
{%- comment -%} Leading-slash normalisation, as in components/preview-image.html:
|
|
47
|
+
`preview: images/x.png` used to become og:image …/assetsimages/x.png. {%- endcomment -%}
|
|
48
|
+
{%- if page_teaser_image and page_teaser_image != "" -%}
|
|
49
|
+
{%- unless page_teaser_image contains '://' or page_teaser_image contains 'data:' -%}
|
|
50
|
+
{%- assign teaser_first = page_teaser_image | slice: 0 -%}
|
|
51
|
+
{%- if teaser_first != '/' -%}{%- assign page_teaser_image = '/' | append: page_teaser_image -%}{%- endif -%}
|
|
52
|
+
{%- endunless -%}
|
|
53
|
+
{%- endif -%}
|
|
46
54
|
{%- if page_teaser_image contains '://' -%}
|
|
47
55
|
{%- comment -%} External URL - use as-is {%- endcomment -%}
|
|
48
56
|
{%- elsif auto_prefix and page_teaser_image and page_teaser_image != blank -%}
|
|
@@ -63,7 +71,7 @@
|
|
|
63
71
|
{%- endif -%}
|
|
64
72
|
{%- endunless -%}
|
|
65
73
|
|
|
66
|
-
|
|
74
|
+
{% comment %} Site verification (non-Google; Google is handled by jekyll-seo-tag) {% endcomment %}
|
|
67
75
|
{% if site.bing_site_verification %}
|
|
68
76
|
<meta name="msvalidate.01" content="{{ site.bing_site_verification }}">
|
|
69
77
|
{% endif %}
|
|
@@ -79,4 +87,4 @@
|
|
|
79
87
|
{% if site.baidu_site_verification %}
|
|
80
88
|
<meta name="baidu-site-verification" content="{{ site.baidu_site_verification }}">
|
|
81
89
|
{% endif %}
|
|
82
|
-
|
|
90
|
+
{% comment %} end _includes/content/seo.html {% endcomment %}
|