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
data/_layouts/news.html
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
layout: root
|
|
4
4
|
source: "https://getbootstrap.com/docs/5.3/examples/blog/#"
|
|
5
5
|
---
|
|
6
|
-
|
|
6
|
+
{% comment %}
|
|
7
7
|
===================================================================
|
|
8
8
|
NEWS LAYOUT - Main News Homepage with Section Style Support
|
|
9
9
|
===================================================================
|
|
@@ -49,7 +49,7 @@ source: "https://getbootstrap.com/docs/5.3/examples/blog/#"
|
|
|
49
49
|
|
|
50
50
|
Note: All cards are inlined to avoid Liquid nesting depth issues
|
|
51
51
|
===================================================================
|
|
52
|
-
|
|
52
|
+
{% endcomment %}
|
|
53
53
|
|
|
54
54
|
{% comment %}
|
|
55
55
|
WARNING: section_style is required in front matter!
|
|
@@ -92,9 +92,9 @@ source: "https://getbootstrap.com/docs/5.3/examples/blog/#"
|
|
|
92
92
|
{% if _tags_index_page %}{% assign _tags_linkable = true %}{% endif %}
|
|
93
93
|
{% endif %}
|
|
94
94
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
95
|
+
{% comment %} ================================ {% endcomment %}
|
|
96
|
+
{% comment %} NEWS HEADER {% endcomment %}
|
|
97
|
+
{% comment %} ================================ {% endcomment %}
|
|
98
98
|
<div class="container-fluid bg-dark text-white py-3 mb-4">
|
|
99
99
|
<div class="container">
|
|
100
100
|
<div class="row align-items-center">
|
|
@@ -131,18 +131,18 @@ source: "https://getbootstrap.com/docs/5.3/examples/blog/#"
|
|
|
131
131
|
</div>
|
|
132
132
|
</div>
|
|
133
133
|
|
|
134
|
-
|
|
135
|
-
landmark; a nested <main> here would duplicate it (issue #299).
|
|
134
|
+
{% comment %} Not a <main>: root.html already provides the single <main id="main-content">
|
|
135
|
+
landmark; a nested <main> here would duplicate it (issue #299). {% endcomment %}
|
|
136
136
|
<div class="container">
|
|
137
137
|
|
|
138
138
|
{% if section_style == "magazine" %}
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
139
|
+
{% comment %} ================================ {% endcomment %}
|
|
140
|
+
{% comment %} MAGAZINE STYLE LAYOUT {% endcomment %}
|
|
141
|
+
{% comment %} ================================ {% endcomment %}
|
|
142
142
|
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
143
|
+
{% comment %} ================================ {% endcomment %}
|
|
144
|
+
{% comment %} HERO - BREAKING NEWS {% endcomment %}
|
|
145
|
+
{% comment %} ================================ {% endcomment %}
|
|
146
146
|
{% assign breaking_posts = all_posts | where: "breaking", true %}
|
|
147
147
|
{% assign hero_post = breaking_posts | first %}
|
|
148
148
|
|
|
@@ -215,9 +215,9 @@ source: "https://getbootstrap.com/docs/5.3/examples/blog/#"
|
|
|
215
215
|
</section>
|
|
216
216
|
{% endif %}
|
|
217
217
|
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
218
|
+
{% comment %} ================================ {% endcomment %}
|
|
219
|
+
{% comment %} SECTION QUICK NAVIGATION {% endcomment %}
|
|
220
|
+
{% comment %} ================================ {% endcomment %}
|
|
221
221
|
<section class="section-nav mb-5">
|
|
222
222
|
<div class="row row-cols-2 row-cols-md-3 row-cols-lg-6 g-3">
|
|
223
223
|
{% for sec_name in news_sections %}
|
|
@@ -242,9 +242,9 @@ source: "https://getbootstrap.com/docs/5.3/examples/blog/#"
|
|
|
242
242
|
</div>
|
|
243
243
|
</section>
|
|
244
244
|
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
245
|
+
{% comment %} ================================ {% endcomment %}
|
|
246
|
+
{% comment %} FEATURED STORIES {% endcomment %}
|
|
247
|
+
{% comment %} ================================ {% endcomment %}
|
|
248
248
|
{% assign featured_posts = all_posts | where: "featured", true %}
|
|
249
249
|
{% if featured_posts.size > 0 %}
|
|
250
250
|
<section class="featured-section mb-5">
|
|
@@ -255,7 +255,7 @@ source: "https://getbootstrap.com/docs/5.3/examples/blog/#"
|
|
|
255
255
|
</div>
|
|
256
256
|
|
|
257
257
|
<div class="row g-4">
|
|
258
|
-
|
|
258
|
+
{% comment %} Main Featured Post {% endcomment %}
|
|
259
259
|
{% assign main_featured = featured_posts | first %}
|
|
260
260
|
<div class="col-lg-6">
|
|
261
261
|
<div class="card h-100 border-0 shadow">
|
|
@@ -300,7 +300,7 @@ source: "https://getbootstrap.com/docs/5.3/examples/blog/#"
|
|
|
300
300
|
</div>
|
|
301
301
|
</div>
|
|
302
302
|
|
|
303
|
-
|
|
303
|
+
{% comment %} Secondary Featured Posts {% endcomment %}
|
|
304
304
|
<div class="col-lg-6">
|
|
305
305
|
<div class="row row-cols-1 row-cols-md-2 g-4">
|
|
306
306
|
{% for fpost in featured_posts offset:1 limit:4 %}
|
|
@@ -334,9 +334,9 @@ source: "https://getbootstrap.com/docs/5.3/examples/blog/#"
|
|
|
334
334
|
</section>
|
|
335
335
|
{% endif %}
|
|
336
336
|
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
337
|
+
{% comment %} ================================ {% endcomment %}
|
|
338
|
+
{% comment %} POSTS BY SECTION {% endcomment %}
|
|
339
|
+
{% comment %} ================================ {% endcomment %}
|
|
340
340
|
{% for sec_name in news_sections limit: 3 %}
|
|
341
341
|
{% assign section_posts = all_posts | where_exp: "post", "post.categories contains sec_name" %}
|
|
342
342
|
{% assign _sec_nav = site.data.navigation.posts | where: "title", sec_name | first %}
|
|
@@ -395,9 +395,9 @@ source: "https://getbootstrap.com/docs/5.3/examples/blog/#"
|
|
|
395
395
|
{% endfor %}
|
|
396
396
|
|
|
397
397
|
{% elsif section_style == "grid" %}
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
398
|
+
{% comment %} ================================ {% endcomment %}
|
|
399
|
+
{% comment %} GRID STYLE LAYOUT {% endcomment %}
|
|
400
|
+
{% comment %} ================================ {% endcomment %}
|
|
401
401
|
<section class="grid-section mb-5">
|
|
402
402
|
<h2 class="h4 mb-4">
|
|
403
403
|
<i class="bi bi-grid me-2"></i>All Articles
|
|
@@ -453,9 +453,9 @@ source: "https://getbootstrap.com/docs/5.3/examples/blog/#"
|
|
|
453
453
|
</section>
|
|
454
454
|
|
|
455
455
|
{% elsif section_style == "list" %}
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
456
|
+
{% comment %} ================================ {% endcomment %}
|
|
457
|
+
{% comment %} LIST STYLE LAYOUT {% endcomment %}
|
|
458
|
+
{% comment %} ================================ {% endcomment %}
|
|
459
459
|
<section class="list-section mb-5">
|
|
460
460
|
<h2 class="h4 mb-4">
|
|
461
461
|
<i class="bi bi-list-ul me-2"></i>Latest Articles
|
|
@@ -509,9 +509,9 @@ source: "https://getbootstrap.com/docs/5.3/examples/blog/#"
|
|
|
509
509
|
|
|
510
510
|
{% endif %}
|
|
511
511
|
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
512
|
+
{% comment %} ================================ {% endcomment %}
|
|
513
|
+
{% comment %} LATEST POSTS {% endcomment %}
|
|
514
|
+
{% comment %} ================================ {% endcomment %}
|
|
515
515
|
{% if section_style == "magazine" %}
|
|
516
516
|
<section class="latest-section mb-5">
|
|
517
517
|
<div class="d-flex justify-content-between align-items-center mb-4">
|
|
@@ -557,9 +557,9 @@ source: "https://getbootstrap.com/docs/5.3/examples/blog/#"
|
|
|
557
557
|
</section>
|
|
558
558
|
{% endif %}
|
|
559
559
|
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
560
|
+
{% comment %} ================================ {% endcomment %}
|
|
561
|
+
{% comment %} PAGE CONTENT (if any) {% endcomment %}
|
|
562
|
+
{% comment %} ================================ {% endcomment %}
|
|
563
563
|
{% if content != blank %}
|
|
564
564
|
<section class="page-content mb-5">
|
|
565
565
|
<div class="card border-0 shadow-sm">
|
|
@@ -570,12 +570,12 @@ source: "https://getbootstrap.com/docs/5.3/examples/blog/#"
|
|
|
570
570
|
</section>
|
|
571
571
|
{% endif %}
|
|
572
572
|
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
573
|
+
{% comment %} ================================ {% endcomment %}
|
|
574
|
+
{% comment %} TAGS & ARCHIVES {% endcomment %}
|
|
575
|
+
{% comment %} ================================ {% endcomment %}
|
|
576
576
|
<section class="footer-widgets mb-5">
|
|
577
577
|
<div class="row g-4">
|
|
578
|
-
|
|
578
|
+
{% comment %} Popular Tags {% endcomment %}
|
|
579
579
|
<div class="col-md-6">
|
|
580
580
|
<div class="card h-100 border-0 bg-body-tertiary">
|
|
581
581
|
<div class="card-body">
|
|
@@ -610,7 +610,7 @@ source: "https://getbootstrap.com/docs/5.3/examples/blog/#"
|
|
|
610
610
|
</div>
|
|
611
611
|
</div>
|
|
612
612
|
|
|
613
|
-
|
|
613
|
+
{% comment %} Archives {% endcomment %}
|
|
614
614
|
<div class="col-md-6">
|
|
615
615
|
<div class="card h-100 border-0 bg-body-tertiary">
|
|
616
616
|
<div class="card-body">
|
|
@@ -661,9 +661,9 @@ source: "https://getbootstrap.com/docs/5.3/examples/blog/#"
|
|
|
661
661
|
</div>
|
|
662
662
|
</section>
|
|
663
663
|
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
664
|
+
{% comment %} ================================ {% endcomment %}
|
|
665
|
+
{% comment %} NEWSLETTER SIGNUP {% endcomment %}
|
|
666
|
+
{% comment %} ================================ {% endcomment %}
|
|
667
667
|
{% comment %}
|
|
668
668
|
Renders only when it can actually do something: a configured form
|
|
669
669
|
endpoint (news.newsletter.endpoint) posts for real; otherwise a
|
data/_layouts/note.html
CHANGED
|
@@ -5,7 +5,7 @@ layout: default
|
|
|
5
5
|
{% assign page_absolute_url = page.url | absolute_url %}
|
|
6
6
|
{% assign linkedin_share_title = page.title | default: site.title | strip_html | strip_newlines | strip %}
|
|
7
7
|
{% assign linkedin_share_description = page.description | default: page.excerpt | default: site.description | strip_html | strip_newlines | strip %}
|
|
8
|
-
|
|
8
|
+
{% comment %}
|
|
9
9
|
===================================================================
|
|
10
10
|
NOTE LAYOUT - Quick Notes and Reference Display
|
|
11
11
|
===================================================================
|
|
@@ -36,21 +36,22 @@ layout: default
|
|
|
36
36
|
- Bootstrap 5 components
|
|
37
37
|
- Giscus comments (optional)
|
|
38
38
|
===================================================================
|
|
39
|
-
|
|
39
|
+
{% endcomment %}
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
{% comment %} No main role and no generic main id — see article.html (issue #484). {% endcomment %}
|
|
42
|
+
<article class="note-article h-entry" itemscope itemtype="https://schema.org/Article">
|
|
42
43
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
{% comment %} ================================ {% endcomment %}
|
|
45
|
+
{% comment %} NOTE HEADER {% endcomment %}
|
|
46
|
+
{% comment %} ================================ {% endcomment %}
|
|
46
47
|
<header class="note-header mb-4">
|
|
47
48
|
<h1 id="page-title" class="note-title p-name" itemprop="headline">
|
|
48
49
|
{{ page.title }}
|
|
49
50
|
</h1>
|
|
50
51
|
|
|
51
|
-
|
|
52
|
+
{% comment %} Note Metadata {% endcomment %}
|
|
52
53
|
<div class="note-meta text-muted mb-3">
|
|
53
|
-
|
|
54
|
+
{% comment %} Author {% endcomment %}
|
|
54
55
|
{% if page.author %}
|
|
55
56
|
<span class="note-author" itemprop="author" itemscope itemtype="https://schema.org/Person">
|
|
56
57
|
{% include components/author-card.html author=page.author style="inline" name_itemprop="name" %}
|
|
@@ -58,7 +59,7 @@ layout: default
|
|
|
58
59
|
<span class="mx-2">•</span>
|
|
59
60
|
{% endif %}
|
|
60
61
|
|
|
61
|
-
|
|
62
|
+
{% comment %} Publication Date {% endcomment %}
|
|
62
63
|
{% if page.date %}
|
|
63
64
|
<time class="note-date dt-published" datetime="{{ page.date | date_to_xmlschema }}" itemprop="datePublished">
|
|
64
65
|
<i class="bi bi-calendar me-1"></i>
|
|
@@ -67,7 +68,7 @@ layout: default
|
|
|
67
68
|
<span class="mx-2">•</span>
|
|
68
69
|
{% endif %}
|
|
69
70
|
|
|
70
|
-
|
|
71
|
+
{% comment %} Reading Time {% endcomment %}
|
|
71
72
|
{% assign words = content | number_of_words %}
|
|
72
73
|
{% assign minutes = words | divided_by: 200 %}
|
|
73
74
|
{% if minutes < 1 %}{% assign minutes = 1 %}{% endif %}
|
|
@@ -76,7 +77,7 @@ layout: default
|
|
|
76
77
|
{{ minutes }} min read
|
|
77
78
|
</span>
|
|
78
79
|
|
|
79
|
-
|
|
80
|
+
{% comment %} Last Modified {% endcomment %}
|
|
80
81
|
{% if page.lastmod %}
|
|
81
82
|
<span class="mx-2">•</span>
|
|
82
83
|
<span class="note-updated" itemprop="dateModified" content="{{ page.lastmod | date_to_xmlschema }}">
|
|
@@ -85,7 +86,7 @@ layout: default
|
|
|
85
86
|
</span>
|
|
86
87
|
{% endif %}
|
|
87
88
|
|
|
88
|
-
|
|
89
|
+
{% comment %} Difficulty Badge {% endcomment %}
|
|
89
90
|
{% if page.difficulty %}
|
|
90
91
|
<span class="mx-2">•</span>
|
|
91
92
|
<span class="note-difficulty">
|
|
@@ -103,7 +104,7 @@ layout: default
|
|
|
103
104
|
{% endif %}
|
|
104
105
|
</div>
|
|
105
106
|
|
|
106
|
-
|
|
107
|
+
{% comment %} Tags {% endcomment %}
|
|
107
108
|
{% comment %} Link tag badges only when a tags index exists (configurable via
|
|
108
109
|
`tags_page`); otherwise render plain badges so remote-theme consumers
|
|
109
110
|
without a /tags/ page don't get 404 links. See issue #204. {% endcomment %}
|
|
@@ -123,7 +124,7 @@ layout: default
|
|
|
123
124
|
</div>
|
|
124
125
|
{% endif %}
|
|
125
126
|
|
|
126
|
-
|
|
127
|
+
{% comment %} Categories {% endcomment %}
|
|
127
128
|
{% if page.categories and page.categories.size > 0 %}
|
|
128
129
|
<div class="note-categories mb-3">
|
|
129
130
|
<i class="bi bi-folder me-1"></i>
|
|
@@ -136,7 +137,7 @@ layout: default
|
|
|
136
137
|
</div>
|
|
137
138
|
{% endif %}
|
|
138
139
|
|
|
139
|
-
|
|
140
|
+
{% comment %} Description {% endcomment %}
|
|
140
141
|
{% if page.description %}
|
|
141
142
|
<div class="note-description lead mb-4" itemprop="description">
|
|
142
143
|
{{ page.description }}
|
|
@@ -144,26 +145,26 @@ layout: default
|
|
|
144
145
|
{% endif %}
|
|
145
146
|
</header>
|
|
146
147
|
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
148
|
+
{% comment %} ================================ {% endcomment %}
|
|
149
|
+
{% comment %} NOTE CONTENT {% endcomment %}
|
|
150
|
+
{% comment %} ================================ {% endcomment %}
|
|
150
151
|
<div class="note-content e-content" itemprop="articleBody">
|
|
151
152
|
{{ content }}
|
|
152
153
|
</div>
|
|
153
154
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
155
|
+
{% comment %} ================================ {% endcomment %}
|
|
156
|
+
{% comment %} AUTHOR BIO SECTION {% endcomment %}
|
|
157
|
+
{% comment %} ================================ {% endcomment %}
|
|
157
158
|
{% if page.author and page.author_profile != false %}
|
|
158
159
|
{% include components/author-bio.html author=page.author %}
|
|
159
160
|
{% endif %}
|
|
160
161
|
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
162
|
+
{% comment %} ================================ {% endcomment %}
|
|
163
|
+
{% comment %} NOTE FOOTER {% endcomment %}
|
|
164
|
+
{% comment %} ================================ {% endcomment %}
|
|
164
165
|
<footer class="note-footer mt-5 pt-4 border-top">
|
|
165
166
|
|
|
166
|
-
|
|
167
|
+
{% comment %} Share Buttons {% endcomment %}
|
|
167
168
|
{% if page.share != false %}
|
|
168
169
|
<div class="share-buttons mb-4">
|
|
169
170
|
<h5 class="mb-3">Share this note</h5>
|
|
@@ -190,7 +191,7 @@ layout: default
|
|
|
190
191
|
</div>
|
|
191
192
|
{% endif %}
|
|
192
193
|
|
|
193
|
-
|
|
194
|
+
{% comment %} Related Notes {% endcomment %}
|
|
194
195
|
{% if site.notes.size > 1 %}
|
|
195
196
|
<div class="related-notes mt-5">
|
|
196
197
|
<h5 class="mb-3">Related Notes</h5>
|
|
@@ -238,28 +239,28 @@ layout: default
|
|
|
238
239
|
{% endif %}
|
|
239
240
|
</footer>
|
|
240
241
|
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
242
|
+
{% comment %} ================================ {% endcomment %}
|
|
243
|
+
{% comment %} COMMENTS SECTION {% endcomment %}
|
|
244
|
+
{% comment %} ================================ {% endcomment %}
|
|
244
245
|
{% if page.comments != false and site.giscus.enabled %}
|
|
245
246
|
<div class="note-comments mt-5 pt-4 border-top">
|
|
246
247
|
<h5 class="mb-4">Comments</h5>
|
|
247
248
|
{% include content/giscus.html %}
|
|
248
249
|
</div>
|
|
249
250
|
{% endif %}
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
251
|
+
{% comment %} ================================ {% endcomment %}
|
|
252
|
+
{% comment %} BACKLINKS — "Linked mentions" {% endcomment %}
|
|
253
|
+
{% comment %} ================================ {% endcomment %}
|
|
254
|
+
{% comment %} Obsidian-style panel of pages that wiki-link or markdown-link to this note. {% endcomment %}
|
|
255
|
+
{% comment %} Disable per-page with `backlinks: false` in front matter. {% endcomment %}
|
|
255
256
|
{% include content/backlinks.html %}
|
|
256
257
|
|
|
257
258
|
</article>
|
|
258
259
|
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
260
|
+
{% comment %} ================================ {% endcomment %}
|
|
261
|
+
{% comment %} NAVIGATION {% endcomment %}
|
|
262
|
+
{% comment %} ================================ {% endcomment %}
|
|
263
|
+
{% comment %} Previous/Next Note Navigation {% endcomment %}
|
|
263
264
|
{% assign notes = site.notes | sort: 'date' | reverse %}
|
|
264
265
|
{% assign current_index = nil %}
|
|
265
266
|
{% for note in notes %}
|
|
@@ -304,7 +305,7 @@ layout: default
|
|
|
304
305
|
</nav>
|
|
305
306
|
{% endif %}
|
|
306
307
|
|
|
307
|
-
|
|
308
|
+
{% comment %} Schema.org metadata {% endcomment %}
|
|
308
309
|
<script type="application/ld+json">
|
|
309
310
|
{
|
|
310
311
|
"@context": "https://schema.org",
|
data/_layouts/notebook.html
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
# Features: ZER0-012, ZER0-019, ZER0-035
|
|
3
3
|
layout: default
|
|
4
4
|
---
|
|
5
|
-
|
|
5
|
+
{% comment %}
|
|
6
6
|
===================================================================
|
|
7
7
|
NOTEBOOK LAYOUT - Jupyter Notebook Display
|
|
8
8
|
===================================================================
|
|
@@ -32,21 +32,22 @@ layout: default
|
|
|
32
32
|
- Rouge syntax highlighter (Jekyll default)
|
|
33
33
|
- Bootstrap 5 components
|
|
34
34
|
===================================================================
|
|
35
|
-
|
|
35
|
+
{% endcomment %}
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
{% comment %} No main role and no generic main id — see article.html (issue #484). {% endcomment %}
|
|
38
|
+
<article class="notebook-article h-entry" itemscope itemtype="https://schema.org/TechArticle">
|
|
38
39
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
{% comment %} ================================ {% endcomment %}
|
|
41
|
+
{% comment %} NOTEBOOK HEADER {% endcomment %}
|
|
42
|
+
{% comment %} ================================ {% endcomment %}
|
|
42
43
|
<header class="notebook-header mb-4">
|
|
43
44
|
<h1 id="page-title" class="notebook-title p-name" itemprop="headline">
|
|
44
45
|
{{ page.title }}
|
|
45
46
|
</h1>
|
|
46
47
|
|
|
47
|
-
|
|
48
|
+
{% comment %} Notebook Metadata {% endcomment %}
|
|
48
49
|
<div class="notebook-meta text-muted mb-3">
|
|
49
|
-
|
|
50
|
+
{% comment %} Author {% endcomment %}
|
|
50
51
|
{% if page.author %}
|
|
51
52
|
<span class="notebook-author" itemprop="author" itemscope itemtype="https://schema.org/Person">
|
|
52
53
|
{% include components/author-card.html author=page.author style="inline" name_itemprop="name" %}
|
|
@@ -54,7 +55,7 @@ layout: default
|
|
|
54
55
|
<span class="mx-2">•</span>
|
|
55
56
|
{% endif %}
|
|
56
57
|
|
|
57
|
-
|
|
58
|
+
{% comment %} Publication Date {% endcomment %}
|
|
58
59
|
{% if page.date %}
|
|
59
60
|
<time class="notebook-date dt-published" datetime="{{ page.date | date_to_xmlschema }}" itemprop="datePublished">
|
|
60
61
|
<i class="bi bi-calendar me-1"></i>
|
|
@@ -63,7 +64,7 @@ layout: default
|
|
|
63
64
|
<span class="mx-2">•</span>
|
|
64
65
|
{% endif %}
|
|
65
66
|
|
|
66
|
-
|
|
67
|
+
{% comment %} Reading Time {% endcomment %}
|
|
67
68
|
{% assign words = content | number_of_words %}
|
|
68
69
|
{% assign minutes = words | divided_by: 200 %}
|
|
69
70
|
{% if minutes < 1 %}{% assign minutes = 1 %}{% endif %}
|
|
@@ -72,7 +73,7 @@ layout: default
|
|
|
72
73
|
{{ minutes }} min read
|
|
73
74
|
</span>
|
|
74
75
|
|
|
75
|
-
|
|
76
|
+
{% comment %} Last Modified {% endcomment %}
|
|
76
77
|
{% if page.lastmod %}
|
|
77
78
|
<span class="mx-2">•</span>
|
|
78
79
|
<span class="notebook-updated" itemprop="dateModified" content="{{ page.lastmod | date_to_xmlschema }}">
|
|
@@ -81,7 +82,7 @@ layout: default
|
|
|
81
82
|
</span>
|
|
82
83
|
{% endif %}
|
|
83
84
|
|
|
84
|
-
|
|
85
|
+
{% comment %} Kernel Info {% endcomment %}
|
|
85
86
|
{% if page.jupyter_metadata %}
|
|
86
87
|
<span class="mx-2">•</span>
|
|
87
88
|
<span class="notebook-kernel">
|
|
@@ -91,7 +92,7 @@ layout: default
|
|
|
91
92
|
{% endif %}
|
|
92
93
|
</div>
|
|
93
94
|
|
|
94
|
-
|
|
95
|
+
{% comment %} Tags {% endcomment %}
|
|
95
96
|
{% comment %} Link tag badges only when a tags index exists (configurable via
|
|
96
97
|
`tags_page`); otherwise render plain badges so remote-theme consumers
|
|
97
98
|
without a /tags/ page don't get 404 links. See issue #204. {% endcomment %}
|
|
@@ -111,7 +112,7 @@ layout: default
|
|
|
111
112
|
</div>
|
|
112
113
|
{% endif %}
|
|
113
114
|
|
|
114
|
-
|
|
115
|
+
{% comment %} Categories {% endcomment %}
|
|
115
116
|
{% if page.categories and page.categories.size > 0 %}
|
|
116
117
|
<div class="notebook-categories mb-3">
|
|
117
118
|
<i class="bi bi-folder me-1"></i>
|
|
@@ -124,7 +125,7 @@ layout: default
|
|
|
124
125
|
</div>
|
|
125
126
|
{% endif %}
|
|
126
127
|
|
|
127
|
-
|
|
128
|
+
{% comment %} Description {% endcomment %}
|
|
128
129
|
{% if page.description %}
|
|
129
130
|
<div class="notebook-description lead mb-4" itemprop="description">
|
|
130
131
|
{{ page.description }}
|
|
@@ -132,26 +133,26 @@ layout: default
|
|
|
132
133
|
{% endif %}
|
|
133
134
|
</header>
|
|
134
135
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
136
|
+
{% comment %} ================================ {% endcomment %}
|
|
137
|
+
{% comment %} NOTEBOOK CONTENT {% endcomment %}
|
|
138
|
+
{% comment %} ================================ {% endcomment %}
|
|
138
139
|
<div class="notebook-content e-content" itemprop="articleBody">
|
|
139
140
|
{{ content }}
|
|
140
141
|
</div>
|
|
141
142
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
143
|
+
{% comment %} ================================ {% endcomment %}
|
|
144
|
+
{% comment %} AUTHOR BIO SECTION {% endcomment %}
|
|
145
|
+
{% comment %} ================================ {% endcomment %}
|
|
145
146
|
{% if page.author and page.author_profile != false %}
|
|
146
147
|
{% include components/author-bio.html author=page.author %}
|
|
147
148
|
{% endif %}
|
|
148
149
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
150
|
+
{% comment %} ================================ {% endcomment %}
|
|
151
|
+
{% comment %} NOTEBOOK FOOTER {% endcomment %}
|
|
152
|
+
{% comment %} ================================ {% endcomment %}
|
|
152
153
|
<footer class="notebook-footer mt-5 pt-4 border-top">
|
|
153
154
|
|
|
154
|
-
|
|
155
|
+
{% comment %} Share Buttons {% endcomment %}
|
|
155
156
|
{% if page.share != false %}
|
|
156
157
|
<div class="share-buttons mb-4">
|
|
157
158
|
<h5 class="mb-3">Share this notebook</h5>
|
|
@@ -172,7 +173,7 @@ layout: default
|
|
|
172
173
|
</div>
|
|
173
174
|
{% endif %}
|
|
174
175
|
|
|
175
|
-
|
|
176
|
+
{% comment %} Download Original Notebook {% endcomment %}
|
|
176
177
|
<div class="download-notebook mb-4">
|
|
177
178
|
<a href="https://raw.githubusercontent.com/{{ site.repository }}/{{ site.branch | default: 'main' }}/pages/_notebooks/{{ page.slug }}.ipynb"
|
|
178
179
|
class="btn btn-outline-secondary btn-sm" download>
|
|
@@ -180,7 +181,7 @@ layout: default
|
|
|
180
181
|
</a>
|
|
181
182
|
</div>
|
|
182
183
|
|
|
183
|
-
|
|
184
|
+
{% comment %} Related Notebooks {% endcomment %}
|
|
184
185
|
{% if site.notebooks.size > 1 %}
|
|
185
186
|
<div class="related-notebooks mt-5">
|
|
186
187
|
<h5 class="mb-3">Related Notebooks</h5>
|
|
@@ -221,9 +222,9 @@ layout: default
|
|
|
221
222
|
{% endif %}
|
|
222
223
|
</footer>
|
|
223
224
|
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
225
|
+
{% comment %} ================================ {% endcomment %}
|
|
226
|
+
{% comment %} COMMENTS SECTION {% endcomment %}
|
|
227
|
+
{% comment %} ================================ {% endcomment %}
|
|
227
228
|
{% if page.comments != false and site.giscus.enabled %}
|
|
228
229
|
<div class="notebook-comments mt-5 pt-4 border-top">
|
|
229
230
|
<h5 class="mb-4">Comments</h5>
|
|
@@ -233,10 +234,10 @@ layout: default
|
|
|
233
234
|
|
|
234
235
|
</article>
|
|
235
236
|
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
237
|
+
{% comment %} ================================ {% endcomment %}
|
|
238
|
+
{% comment %} NAVIGATION {% endcomment %}
|
|
239
|
+
{% comment %} ================================ {% endcomment %}
|
|
240
|
+
{% comment %} Previous/Next Notebook Navigation {% endcomment %}
|
|
240
241
|
{% assign notebooks = site.notebooks | sort: 'date' | reverse %}
|
|
241
242
|
{% assign current_index = nil %}
|
|
242
243
|
{% for notebook in notebooks %}
|
|
@@ -281,7 +282,7 @@ layout: default
|
|
|
281
282
|
</nav>
|
|
282
283
|
{% endif %}
|
|
283
284
|
|
|
284
|
-
|
|
285
|
+
{% comment %} Schema.org metadata {% endcomment %}
|
|
285
286
|
<script type="application/ld+json">
|
|
286
287
|
{
|
|
287
288
|
"@context": "https://schema.org",
|