jekyll-theme-zer0 1.31.0 → 1.31.2

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.
data/README.md CHANGED
@@ -43,11 +43,16 @@ preview: /assets/images/wizard-on-journey.png
43
43
  hero_image: /assets/images/wizard-on-journey.png
44
44
  excerpt: "AI-native Jekyll theme for GitHub Pages — multi-agent ready (Copilot, Codex, Cursor, Claude), AI-powered install & preview images, AIEO-optimized, with Docker-first development and 43 documented features"
45
45
  ---
46
-
47
46
  [![pages-build-deployment](https://github.com/bamr87/zer0-mistakes/actions/workflows/pages/pages-build-deployment/badge.svg)](https://github.com/bamr87/zer0-mistakes/actions/workflows/pages/pages-build-deployment) [![Gem Version](https://badge.fury.io/rb/jekyll-theme-zer0.svg)](https://badge.fury.io/rb/jekyll-theme-zer0) [![CI](https://github.com/bamr87/zer0-mistakes/actions/workflows/ci.yml/badge.svg)](https://github.com/bamr87/zer0-mistakes/actions/workflows/ci.yml) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![Docker](https://img.shields.io/badge/docker-ready-blue.svg)](https://github.com/bamr87/zer0-mistakes/blob/main/docker-compose.yml) [![Bootstrap](https://img.shields.io/badge/Bootstrap-5.3.3-purple.svg)](https://getbootstrap.com/) [![AI-Native](https://img.shields.io/badge/AI--Native-Copilot%20%7C%20Codex%20%7C%20Cursor%20%7C%20Claude-8A2BE2)](AGENTS.md) [![AIEO](https://img.shields.io/badge/AIEO-Optimized-ff69b4)](#-aieo-optimized--built-for-ai-citation)
48
47
 
49
48
  # zer0-mistakes
50
49
 
50
+ > AI-native, Docker-first Jekyll theme for GitHub Pages sites, built on Bootstrap 5 and published as a Ruby gem.
51
+
52
+ [![CI](https://github.com/bamr87/zer0-mistakes/actions/workflows/ci.yml/badge.svg)](https://github.com/bamr87/zer0-mistakes/actions/workflows/ci.yml) [![License](https://img.shields.io/github/license/bamr87/zer0-mistakes)](LICENSE) [![Live site](https://img.shields.io/badge/live-zer0--mistakes.com-2ea44f)](https://zer0-mistakes.com/)
53
+
54
+ ## Overview
55
+
51
56
  ### A modern website theme that just works — for blogs, docs, portfolios, and more
52
57
 
53
58
  **Free • Open source • Hosted on GitHub Pages for $0/month • Works on Mac, Windows, and Linux**
@@ -58,8 +63,6 @@ If you already know Jekyll, Ruby, Docker, or AI coding agents: the same theme gr
58
63
 
59
64
  [Get Started in 5 Minutes](#-get-started-in-5-minutes) • [What You Get](#-what-you-get) • [Who It's For](#-who-its-for) • [Advanced & AI Features](#-advanced-features-for-power-users) • [Live Demo](https://zer0-mistakes.com/)
60
65
 
61
- ---
62
-
63
66
  ## ✨ What You Get
64
67
 
65
68
  A complete, professional website out of the box — no design or coding required to start:
@@ -963,4 +966,15 @@ And these AI partners that make zer0-mistakes truly AI-native:
963
966
 
964
967
  **v1.19.1** • [Changelog](CHANGELOG.md) • [License](LICENSE) • [Contributing](CONTRIBUTING.md) • [AI Agent Guide](AGENTS.md)
965
968
 
969
+ ## Changelog
970
+
971
+ Notable changes are recorded in [CHANGELOG.md](CHANGELOG.md). Tagged versions are on the [releases page](https://github.com/bamr87/zer0-mistakes/releases).
972
+
973
+ ## License
974
+
975
+ Released under the [MIT License](LICENSE).
976
+
977
+ ---
966
978
 
979
+ <!-- bamr87-portfolio-footer -->
980
+ Part of the [bamr87 portfolio](https://github.com/bamr87) — browse every project on [Amr's GitHub profile](https://github.com/bamr87).
data/_data/backlog.yml CHANGED
@@ -1315,7 +1315,7 @@ tasks:
1315
1315
 
1316
1316
  - id: T-046
1317
1317
  title: "Retire the now-dead gotoBeforeScrollSpy fixture and cover the mobile offcanvas TOC spy"
1318
- status: open
1318
+ status: done
1319
1319
  priority: P3
1320
1320
  area: tests
1321
1321
  risk: low
@@ -1395,7 +1395,7 @@ tasks:
1395
1395
 
1396
1396
  - id: T-049
1397
1397
  title: "test_core.sh: Liquid nested-tag check and gem-content check can never fail"
1398
- status: open
1398
+ status: done
1399
1399
  priority: P3
1400
1400
  area: tests
1401
1401
  risk: low
@@ -1412,7 +1412,7 @@ tasks:
1412
1412
 
1413
1413
  - id: T-050
1414
1414
  title: "Visual Snapshots tier: LiveReload reloads the page mid-test because npm ci lands after Jekyll starts watching"
1415
- status: open
1415
+ status: done
1416
1416
  priority: P2
1417
1417
  area: tests
1418
1418
  risk: low
data/_data/i18n/fr.yml CHANGED
@@ -4,18 +4,18 @@
4
4
  # scripts/translate.rb from _data/ui-text.yml (en). Regenerate via
5
5
  # the Translate workflow or: ruby scripts/translate.rb --langs fr
6
6
  # ================================================================
7
- skip_links: Liens d'accès rapide
8
- skip_primary_nav: Aller à la navigation principale
9
- skip_content: Aller au contenu
10
- skip_main_content: Aller au contenu principal
11
- skip_footer: Aller au pied de page
7
+ skip_links: Liens d'évitement
8
+ skip_primary_nav: Passer à la navigation principale
9
+ skip_content: Passer au contenu
10
+ skip_main_content: Passer au contenu principal
11
+ skip_footer: Passer au pied de page
12
12
  page: Page
13
13
  pagination_previous: Précédent
14
14
  pagination_next: Suivant
15
15
  breadcrumb_home_label: Accueil
16
16
  breadcrumb_separator: "/"
17
- menu_label: Basculer le menu
18
- search_label: Basculer la recherche
17
+ menu_label: Afficher/masquer le menu
18
+ search_label: Afficher/masquer la recherche
19
19
  toc_label: Sur cette page
20
20
  ext_link_label: Lien direct
21
21
  less_than: moins de
@@ -28,7 +28,7 @@ author_label: 'Auteur :'
28
28
  comments_label: Laisser un commentaire
29
29
  comments_title: Commentaires
30
30
  more_label: En savoir plus
31
- related_label: Vous pourriez aussi aimer
31
+ related_label: Vous aimerez peut-être aussi
32
32
  follow_label: 'Suivre :'
33
33
  feed_label: Flux
34
34
  powered_by: Propulsé par
@@ -47,8 +47,8 @@ comment_btn_submit: Envoyer le commentaire
47
47
  comment_btn_submitted: Envoyé
48
48
  comment_success_msg: Merci pour votre commentaire ! Il apparaîtra sur le site une
49
49
  fois approuvé.
50
- comment_error_msg: Désolé, une erreur s'est produite lors de l'envoi. Veuillez vous
51
- assurer que tous les champs obligatoires sont remplis et réessayez.
50
+ comment_error_msg: Désolé, une erreur s'est produite lors de l'envoi. Veuillez vérifier
51
+ que tous les champs obligatoires sont remplis et réessayer.
52
52
  loading_label: Chargement...
53
53
  search_label_text: Saisissez votre terme de recherche...
54
54
  search_placeholder_text: Saisissez votre terme de recherche...
@@ -60,9 +60,9 @@ stats_total_pages: Total des pages
60
60
  stats_categories: Catégories
61
61
  stats_tags: Étiquettes
62
62
  stats_last_updated: Dernière mise à jour
63
- stats_overview: Aperçu
63
+ stats_overview: Vue d'ensemble
64
64
  stats_content_breakdown: Répartition du contenu
65
- theme_toggle: Basculer le thème
65
+ theme_toggle: Changer de thème
66
66
  dark_mode: Mode sombre
67
67
  light_mode: Mode clair
68
68
  view_source: Voir la source
@@ -98,6 +98,22 @@ lang_machine_translated: auto
98
98
  lang_machine_translated_title: Traduction générée automatiquement
99
99
  lang_untranslated_note: Les langues marquées ne sont pas encore traduites — ces liens
100
100
  ouvrent la version originale.
101
- machine_translation_notice: Cette page a été traduite automatiquement à partir de
102
- l'original en anglais.
101
+ machine_translation_notice: Cette page a été traduite automatiquement depuis l'original
102
+ en anglais.
103
103
  machine_translation_view_source: Voir l'original
104
+ diagram_label: Diagramme
105
+ diagram_tools_label: Outils de diagramme
106
+ diagram_zoom_in: Zoom avant
107
+ diagram_zoom_out: Zoom arrière
108
+ diagram_zoom_reset: Réinitialiser le zoom
109
+ diagram_fullscreen: Afficher en plein écran
110
+ diagram_fullscreen_close: Fermer le plein écran
111
+ diagram_copy_source: Copier la source du diagramme
112
+ diagram_copied: Copié
113
+ diagram_copy_failed: Échec de la copie
114
+ diagram_download: Télécharger en SVG
115
+ diagram_error_title: Ce diagramme n'a pas pu être affiché
116
+ diagram_error_hint: Vérifiez la syntaxe dans le Mermaid Live Editor. La source est
117
+ affichée ci-dessous pour ne rien perdre.
118
+ diagram_source_label: Source du diagramme
119
+ diagram_loading: Chargement du diagramme
@@ -314,21 +314,21 @@ pages:
314
314
  prompt_version: 1
315
315
  "/docs/customization/includes/":
316
316
  source: pages/_docs/customization/includes.md
317
- sha: 302b054e92b74d17d0b0d0cf05942fbd021a5bf7e6639bdd70e9121fc1de6a54
317
+ sha: 85851dc85b902c3e9e6780adf5ccf4a4bca75a17deeec5d03c027139e95d2076
318
318
  fr:
319
319
  url: "/fr/docs/customization/includes/"
320
320
  path: fr/docs/customization/includes.md
321
- sha: 302b054e92b74d17d0b0d0cf05942fbd021a5bf7e6639bdd70e9121fc1de6a54
322
- translated_at: '2026-07-23T17:11:02Z'
321
+ sha: 85851dc85b902c3e9e6780adf5ccf4a4bca75a17deeec5d03c027139e95d2076
322
+ translated_at: '2026-09-08T21:55:57Z'
323
323
  prompt_version: 1
324
324
  "/docs/customization/layouts/":
325
325
  source: pages/_docs/customization/layouts.md
326
- sha: edeb35201153cbae4bdb43b39604df3a2842c809a5f8b86915990359c1e59bd4
326
+ sha: e61ed6fee0858c71cc42e6ba36342dfe1e2f3847e6c5672aecbee195b61f54a4
327
327
  fr:
328
328
  url: "/fr/docs/customization/layouts/"
329
329
  path: fr/docs/customization/layouts.md
330
- sha: edeb35201153cbae4bdb43b39604df3a2842c809a5f8b86915990359c1e59bd4
331
- translated_at: '2026-07-23T17:11:28Z'
330
+ sha: e61ed6fee0858c71cc42e6ba36342dfe1e2f3847e6c5672aecbee195b61f54a4
331
+ translated_at: '2026-09-08T21:56:15Z'
332
332
  prompt_version: 1
333
333
  "/docs/customization/navigation/":
334
334
  source: pages/_docs/customization/navigation.md
@@ -395,12 +395,12 @@ pages:
395
395
  prompt_version: 1
396
396
  "/docs/deployment/remote-theme-checklist/":
397
397
  source: pages/_docs/deployment/remote-theme-checklist.md
398
- sha: 9b96d540317e61dcd98890875b5d59454548cf983b741e9f59fc66ebfa4f1468
398
+ sha: 5d09a61aea206b665f94f0b084f10ced1c0629ce3766889151dd4cf9f1c01e62
399
399
  fr:
400
400
  url: "/fr/docs/deployment/remote-theme-checklist/"
401
401
  path: fr/docs/deployment/remote-theme-checklist.md
402
- sha: 9b96d540317e61dcd98890875b5d59454548cf983b741e9f59fc66ebfa4f1468
403
- translated_at: '2026-08-05T03:19:14Z'
402
+ sha: 5d09a61aea206b665f94f0b084f10ced1c0629ce3766889151dd4cf9f1c01e62
403
+ translated_at: '2026-09-08T21:56:51Z'
404
404
  prompt_version: 1
405
405
  "/docs/development/":
406
406
  source: pages/_docs/development/index.md
@@ -566,12 +566,12 @@ pages:
566
566
  prompt_version: 1
567
567
  "/docs/features/ai-chat-assistant/":
568
568
  source: pages/_docs/features/ai-chat-assistant.md
569
- sha: 663b35e275eb1c9e970ad05f9d37ba674a7217db2e35961802ab60d19f6a7919
569
+ sha: '0957be79c588450c29c12757a1b51cb50dd479c54c123cf901f05d21ae38a31a'
570
570
  fr:
571
571
  url: "/fr/docs/features/ai-chat-assistant/"
572
572
  path: fr/docs/features/ai-chat-assistant.md
573
- sha: 663b35e275eb1c9e970ad05f9d37ba674a7217db2e35961802ab60d19f6a7919
574
- translated_at: '2026-08-05T03:23:57Z'
573
+ sha: '0957be79c588450c29c12757a1b51cb50dd479c54c123cf901f05d21ae38a31a'
574
+ translated_at: '2026-09-08T21:57:41Z'
575
575
  prompt_version: 1
576
576
  "/docs/features/auto-hide-nav/":
577
577
  source: pages/_docs/features/auto-hide-nav.md
@@ -665,12 +665,12 @@ pages:
665
665
  prompt_version: 1
666
666
  "/docs/features/favicon/":
667
667
  source: pages/_docs/features/favicon.md
668
- sha: 264da6b68023d01da6d1330c999686a2ca880db77a29fa3e4cfc4a2d63b7a53b
668
+ sha: 29f638af91189fd2bd0e90050bfd689b50dab2e21c3ebcae4217eff8ef4e7bd1
669
669
  fr:
670
670
  url: "/fr/docs/features/favicon/"
671
671
  path: fr/docs/features/favicon.md
672
- sha: 264da6b68023d01da6d1330c999686a2ca880db77a29fa3e4cfc4a2d63b7a53b
673
- translated_at: '2026-08-05T03:26:59Z'
672
+ sha: 29f638af91189fd2bd0e90050bfd689b50dab2e21c3ebcae4217eff8ef4e7bd1
673
+ translated_at: '2026-09-08T21:58:16Z'
674
674
  prompt_version: 1
675
675
  "/docs/features/giscus-comments/":
676
676
  source: pages/_docs/features/giscus-comments.md
@@ -710,12 +710,12 @@ pages:
710
710
  prompt_version: 1
711
711
  "/docs/features/mermaid-diagrams/":
712
712
  source: pages/_docs/features/mermaid-diagrams.md
713
- sha: b8e7cd0aada3d21fa9fd357a681d97669bc0b5a0b68d6e50f8572de4421b8d90
713
+ sha: 6c7f9bbc21dd2c8f9b843736b7779c5a8eaee017630e9b4e36ad8ed9c267ee4e
714
714
  fr:
715
715
  url: "/fr/docs/features/mermaid-diagrams/"
716
716
  path: fr/docs/features/mermaid-diagrams.md
717
- sha: b8e7cd0aada3d21fa9fd357a681d97669bc0b5a0b68d6e50f8572de4421b8d90
718
- translated_at: '2026-08-05T03:30:12Z'
717
+ sha: 6c7f9bbc21dd2c8f9b843736b7779c5a8eaee017630e9b4e36ad8ed9c267ee4e
718
+ translated_at: '2026-09-08T21:59:38Z'
719
719
  prompt_version: 1
720
720
  "/docs/features/mobile-toc/":
721
721
  source: pages/_docs/features/mobile-toc.md
@@ -728,12 +728,12 @@ pages:
728
728
  prompt_version: 1
729
729
  "/docs/features/navigation-architecture/":
730
730
  source: pages/_docs/features/navigation-architecture.md
731
- sha: 2f062d7f74fb14ce79b61b3ca597f012ecd0616297781ff2db40015abbf9872e
731
+ sha: 4e083aa40f50b1707a4a2a534867c5d005cea64506fc88fe242bb3548e255e00
732
732
  fr:
733
733
  url: "/fr/docs/features/navigation-architecture/"
734
734
  path: fr/docs/features/navigation-architecture.md
735
- sha: 2f062d7f74fb14ce79b61b3ca597f012ecd0616297781ff2db40015abbf9872e
736
- translated_at: '2026-08-05T03:30:53Z'
735
+ sha: 4e083aa40f50b1707a4a2a534867c5d005cea64506fc88fe242bb3548e255e00
736
+ translated_at: '2026-09-08T21:59:55Z'
737
737
  prompt_version: 1
738
738
  "/docs/features/particles-background/":
739
739
  source: pages/_docs/features/particles-background.md
@@ -780,6 +780,15 @@ pages:
780
780
  sha: 78aaa54a3a5ccf0c0fc38bb4ed178e43d764a194358ce5878240f20a88f3c04a
781
781
  translated_at: '2026-08-05T03:33:13Z'
782
782
  prompt_version: 1
783
+ "/docs/features/site-builder/":
784
+ source: pages/_docs/features/site-builder.md
785
+ sha: 198273b3a50974205928b044453a399e524893d6caeb1bee990e67fa04d704c6
786
+ fr:
787
+ url: "/fr/docs/features/site-builder/"
788
+ path: fr/docs/features/site-builder.md
789
+ sha: 198273b3a50974205928b044453a399e524893d6caeb1bee990e67fa04d704c6
790
+ translated_at: '2026-09-08T22:01:49Z'
791
+ prompt_version: 1
783
792
  "/docs/features/site-search/":
784
793
  source: pages/_docs/features/site-search.md
785
794
  sha: 6cec0dc08d9c626a53d5cbe47172eddb1fc7de497a5e2a76616f4e81a6896673
@@ -827,12 +836,12 @@ pages:
827
836
  prompt_version: 1
828
837
  "/docs/features/toc/":
829
838
  source: pages/_docs/features/toc.md
830
- sha: 6e3a36b8d8b967bc391d2a0f7821f6fa276927a43265cf253c4d713e08db2306
839
+ sha: 0560ebf13ef174462eb977b3578ca6f5dbfadfea1052c3c8e5ab4eb1db452ae9
831
840
  fr:
832
841
  url: "/fr/docs/features/toc/"
833
842
  path: fr/docs/features/toc.md
834
- sha: 6e3a36b8d8b967bc391d2a0f7821f6fa276927a43265cf253c4d713e08db2306
835
- translated_at: '2026-08-05T03:34:58Z'
843
+ sha: 0560ebf13ef174462eb977b3578ca6f5dbfadfea1052c3c8e5ab4eb1db452ae9
844
+ translated_at: '2026-09-08T22:02:18Z'
836
845
  prompt_version: 1
837
846
  "/docs/features/vendored-assets/":
838
847
  source: pages/_docs/features/vendored-assets.md
@@ -1232,12 +1241,12 @@ pages:
1232
1241
  prompt_version: 1
1233
1242
  "/posts/2025/01/15/docker-jekyll-guide/":
1234
1243
  source: pages/_posts/2025-01-15-docker-jekyll-guide.md
1235
- sha: f41e406ffb3cb2089ed37dfd8f388f975ca46edac746307768358d892aa9a3d2
1244
+ sha: 5206782e47675994d85d1fafc0bc1661f8fb60479b595efd7b1d51705e821b86
1236
1245
  fr:
1237
1246
  url: "/fr/posts/2025/01/15/docker-jekyll-guide/"
1238
1247
  path: fr/posts/2025-01-15-docker-jekyll-guide.md
1239
- sha: f41e406ffb3cb2089ed37dfd8f388f975ca46edac746307768358d892aa9a3d2
1240
- translated_at: '2026-07-23T16:54:51Z'
1248
+ sha: 5206782e47675994d85d1fafc0bc1661f8fb60479b595efd7b1d51705e821b86
1249
+ translated_at: '2026-09-08T21:55:29Z'
1241
1250
  prompt_version: 1
1242
1251
  "/posts/2025/01/18/quantum-computing-explained/":
1243
1252
  source: pages/_posts/science/2025-01-18-quantum-computing-explained.md
@@ -1475,55 +1484,64 @@ pages:
1475
1484
  prompt_version: 1
1476
1485
  "/quickstart/":
1477
1486
  source: pages/_quickstart/index.md
1478
- sha: 2555308eac40feb9be440ee8287840ef6ed93fed5e8df08a135cecbc0479611b
1487
+ sha: 66da1a1e9bc53e1036e68d82df4ae7a26d4c466e2efd45b552cec35ae1cb8be2
1479
1488
  fr:
1480
1489
  url: "/fr/quickstart/"
1481
1490
  path: fr/quickstart/index.md
1482
- sha: 2555308eac40feb9be440ee8287840ef6ed93fed5e8df08a135cecbc0479611b
1483
- translated_at: '2026-08-07T04:23:04Z'
1491
+ sha: 66da1a1e9bc53e1036e68d82df4ae7a26d4c466e2efd45b552cec35ae1cb8be2
1492
+ translated_at: '2026-09-08T22:03:00Z'
1484
1493
  prompt_version: 1
1485
1494
  "/quickstart/github-setup/":
1486
1495
  source: pages/_quickstart/github-setup.md
1487
- sha: b3a9ae56e1bf4b539656a08a0cf1b649530aaba8a300e369c82c430239539cb5
1496
+ sha: 642910d38e2c34923948b56810db2394f9ad7a392f1937027050df6c52fc11fc
1488
1497
  fr:
1489
1498
  url: "/fr/quickstart/github-setup/"
1490
1499
  path: fr/quickstart/github-setup.md
1491
- sha: b3a9ae56e1bf4b539656a08a0cf1b649530aaba8a300e369c82c430239539cb5
1492
- translated_at: '2026-08-07T04:22:44Z'
1500
+ sha: 642910d38e2c34923948b56810db2394f9ad7a392f1937027050df6c52fc11fc
1501
+ translated_at: '2026-09-08T22:02:36Z'
1493
1502
  prompt_version: 1
1494
1503
  "/quickstart/jekyll-setup/":
1495
1504
  source: pages/_quickstart/jekyll-setup.md
1496
- sha: fe93ed13d358ba6e0551d1d178ccf91d339bc9e4989b5b8eca7c14f875c8de88
1505
+ sha: fe93452700297ca885e8caa97ec46725760852fb9dee4a11f3b8793a2f0a72f6
1497
1506
  fr:
1498
1507
  url: "/fr/quickstart/jekyll-setup/"
1499
1508
  path: fr/quickstart/jekyll-setup.md
1500
- sha: fe93ed13d358ba6e0551d1d178ccf91d339bc9e4989b5b8eca7c14f875c8de88
1501
- translated_at: '2026-08-07T04:23:18Z'
1509
+ sha: fe93452700297ca885e8caa97ec46725760852fb9dee4a11f3b8793a2f0a72f6
1510
+ translated_at: '2026-09-08T22:03:15Z'
1502
1511
  prompt_version: 1
1503
1512
  "/quickstart/machine-setup/":
1504
1513
  source: pages/_quickstart/machine-setup.md
1505
- sha: 02d96d7d4b84d14f75e95ef459874aa4ee9148af179b3154f388db962e2e7221
1514
+ sha: 75ac6f087cec781f6f897e27bcdb261f7a7ce4b0646432ef577162d40c4a77b3
1506
1515
  fr:
1507
1516
  url: "/fr/quickstart/machine-setup/"
1508
1517
  path: fr/quickstart/machine-setup.md
1509
- sha: 02d96d7d4b84d14f75e95ef459874aa4ee9148af179b3154f388db962e2e7221
1510
- translated_at: '2026-08-07T04:23:32Z'
1518
+ sha: 75ac6f087cec781f6f897e27bcdb261f7a7ce4b0646432ef577162d40c4a77b3
1519
+ translated_at: '2026-09-08T22:03:33Z'
1511
1520
  prompt_version: 1
1512
1521
  "/quickstart/personalization/":
1513
1522
  source: pages/_quickstart/personalization.md
1514
- sha: 630342fcd53022ce0191d47f9cb12cb5c25138e1a0e877c0b43d6f3bbcfd473e
1523
+ sha: '097b8c40314c293ae40e3d7f0e551ba4f83205b0591058f988ae36bacb26e99a'
1515
1524
  fr:
1516
1525
  url: "/fr/quickstart/personalization/"
1517
1526
  path: fr/quickstart/personalization.md
1518
- sha: 630342fcd53022ce0191d47f9cb12cb5c25138e1a0e877c0b43d6f3bbcfd473e
1519
- translated_at: '2026-08-07T04:25:50Z'
1527
+ sha: '097b8c40314c293ae40e3d7f0e551ba4f83205b0591058f988ae36bacb26e99a'
1528
+ translated_at: '2026-09-08T22:05:54Z'
1529
+ prompt_version: 1
1530
+ "/quickstart/site-builder/":
1531
+ source: pages/_quickstart/site-builder.md
1532
+ sha: 45ea3ac202e149051c0817f258fb8928fa8e808f38b629898fdc4146a591440d
1533
+ fr:
1534
+ url: "/fr/quickstart/site-builder/"
1535
+ path: fr/quickstart/site-builder.md
1536
+ sha: 45ea3ac202e149051c0817f258fb8928fa8e808f38b629898fdc4146a591440d
1537
+ translated_at: '2026-09-08T22:06:33Z'
1520
1538
  prompt_version: 1
1521
1539
  ui_text:
1522
1540
  fr:
1523
- sha: 648882b32870f5d536540e4b6e61d925c3bf7e550b3a6dd471ab8166cc36b351
1524
- translated_at: '2026-09-01T21:29:35Z'
1541
+ sha: 32096c9ff9e64b0fdf40f167dc8b87c2a1ff551ee1b9df6c4daa81530d60b17f
1542
+ translated_at: '2026-09-08T22:06:57Z'
1525
1543
  prompt_version: 1
1526
1544
  source_lang: en
1527
1545
  languages:
1528
1546
  - fr
1529
- updated_at: '2026-09-01T21:29:35Z'
1547
+ updated_at: '2026-09-08T22:06:57Z'
@@ -3,8 +3,8 @@
3
3
  # Regenerated automatically during each release (scripts/bin/release).
4
4
  # Consumers use this file via scripts/bin/audit-consumer to detect drift.
5
5
 
6
- version: "1.31.0"
7
- generated_at: "2026-10-07T21:57:46Z"
6
+ version: "1.31.2"
7
+ generated_at: "2026-10-18T02:25:52Z"
8
8
 
9
9
  # Directories owned by this theme. A consumer file in any of these paths
10
10
  # that is not declared in the consumer's .theme-overrides.yml is flagged
@@ -119,7 +119,7 @@ file_checksums:
119
119
  _includes/components/env-detect.html: "c3e52616ee4c6482abc30ec0bb4097ec84c6aa4621b4f88268eebd547d149f95"
120
120
  _includes/components/env-switcher.html: "cd1c73101b663079fbf473148dec07c816f8b952afa752a17839759a78e9ab5d"
121
121
  _includes/components/feature-card.html: "e90ad47a5c347d52e43325ed717df9aaf4bac71e885439e9476aca0427b8712b"
122
- _includes/components/halfmoon.html: "ab78c5c0e5e1c7ebd6a91bd95307fc6c25a54a98ad932c41d2b97570aa8143a0"
122
+ _includes/components/halfmoon.html: "8d6922fbb8160b3a753905e4347c82f6936a30ed7e5719597c57c2bdb2b09ff2"
123
123
  _includes/components/info-section.html: "39b2d89723513614fc3579c6b524376cbbf854a3b4f62fa4c68a44e56dcda1a0"
124
124
  _includes/components/js-cdn.html: "bdbcea871586a63800e544750806facc191d8702b70291577999680699a69519"
125
125
  _includes/components/language-toggle.html: "1259f824c4e0055ae087ec6ea3593f8f6cf9b43da84a3a95fa9c5b5a6b50f464"
@@ -165,7 +165,7 @@ file_checksums:
165
165
  _includes/components/zer0-env-var.html: "d11f3a578319f48f763b0e8639230e71b9a6e9301453c73c9907814f086fc03e"
166
166
  _includes/content/backlinks.html: "6b18741876a3923606b60f60b3f366c3f60d49924d03a2b86c80df41f2e8130a"
167
167
  _includes/content/giscus.html: "8c49d8a22caef89a3132ba9da5434ddecf33b615f051eee1af7441df0bfef686"
168
- _includes/content/intro.html: "6777503c9c5f547012673379c0492db219e40898c24268312c2d0478208e34c0"
168
+ _includes/content/intro.html: "3afe3f3154fae6a3e4c8f96f818226ab9a41448fadee76d172e1019fdd1cf63c"
169
169
  _includes/content/jsonld-faq.html: "9e4001c9ccebb91ac1b2e51a8a7833e611bd70ae59fee7c599a88597b079a55c"
170
170
  _includes/content/jsonld-software.html: "41624ca1a61687a91878e4147cb6e1fc172ace09bf2d9688e5f1da16cdaecf06"
171
171
  _includes/content/seo.html: "05a6c4bb5aa9357facd041b85eb3ffc3b1ab0c4fabe7cbfa87f9905618718d5f"
@@ -177,8 +177,8 @@ file_checksums:
177
177
  _includes/core/console-capture.html: "f9ca43e114faa48f6e76928b75b8baf580b6adb7efabf206a3b319938eabf019"
178
178
  _includes/core/favicon.html: "9ba9fc5b55f319c4af0404058eb5a3893eba52fe46cc48438037debe4baef458"
179
179
  _includes/core/footer-fabs.html: "4c46914fc53f3c40220501a34ffe20bb296d9f8ddeeec21e959b024f9a30e8a7"
180
- _includes/core/footer.html: "c41a421da9ae7df4116d9f0d544de0991d6fd612312986d68c5b7da17003adab"
181
- _includes/core/head.html: "4a96a374e01afe5e41437edce7767c811564a90b6e0858d5aada8c68b19f17fc"
180
+ _includes/core/footer.html: "1191d080370e8c9feae3e00cc88d59eefd5c927faa053645302d44139ed1b64a"
181
+ _includes/core/head.html: "31a470a324d17d1a91edb4d5117b33695ce5561b72dc1bd36ffc185344df18a7"
182
182
  _includes/core/header.html: "10e4112f6d6c6f7a6c76a35e03aed48183eebfa7dc4887c02927eb8eb487f105"
183
183
  _includes/core/hreflang.html: "876c44ae392aace73680fb042b8cf7d2d1c2b3143dc755c4dd4c2eb5091356d1"
184
184
  _includes/core/i18n.html: "e856ab288f48a5f5f71941a8f47f7dde538deb64d513b57bdd7f4c1b1b2cd6b0"
@@ -191,7 +191,7 @@ file_checksums:
191
191
  _includes/landing/landing-install-cards.html: "8c8c4afdd042dc860f0db1fac74aa23afaf7b21c9f520498032c7ee775449bab"
192
192
  _includes/landing/landing-quick-links.html: "6c36fc1539f050f595429794b4307bc906048fc0ab5006d96a58435f38ecf4bb"
193
193
  _includes/navigation/admin-nav.html: "2455faf00a07829715e649ad8f8e9d1864f6c29d4c371076c9574057eba07b2e"
194
- _includes/navigation/breadcrumbs.html: "d13fd0fb490eb88b0dc7c3585f7578effa619f07f155f1a7a64ac77191bd1377"
194
+ _includes/navigation/breadcrumbs.html: "cb0497414ec06ca6258affd20c9a9ce1ebe3e59e012bf5e2bff9e393a835becf"
195
195
  _includes/navigation/local-graph-fab.html: "ab647224f631c8e21631850408d057527d2300c0f9215ffeecd42a5f22f8cde6"
196
196
  _includes/navigation/local-graph.html: "14703bf11e1ce7b6cdd6261c81ff6a324ec614dcffb763e500f328b9be4b9728"
197
197
  _includes/navigation/nav-tree.html: "d3002ad767eab6f27d9f252545f7564afc470b827ad67b7fb27fab90df9d124d"
@@ -241,7 +241,7 @@ file_checksums:
241
241
  _sass/core/_docs-code-examples.scss: "422d704a7009a07115beede2fb4f925131859075b40d5aa10d0d73ca0ebca371"
242
242
  _sass/core/_docs-layout.scss: "adb29a60417ec2d13dd93501e6072d93ec021281de9711ed44fa76f4587def6f"
243
243
  _sass/core/_nav-tree.scss: "b696b2c5fd91dd5180010c59b38e5242c3b7a7258e889fc3c1ca16c2a53310c2"
244
- _sass/core/_navbar.scss: "52f447c560da18954932675290b2d39360a9c5be6f9fae8c0d3b62ef2ac11b28"
244
+ _sass/core/_navbar.scss: "9aabb6b41b205dc6448518bee681b7189f29670e18a306d8c5c6518706438df3"
245
245
  _sass/core/_obsidian.scss: "557582682f3b37f6cbb3bac36ef2a90390d71604ef172262b5742d0c1aeba55b"
246
246
  _sass/core/_offcanvas-panels.scss: "f4c9e1046923ce036108424c7a9eeae92a54a4e95b31274283b6abf170fc846c"
247
247
  _sass/core/_sidebar-categories.scss: "7d75034b075f78dc3c604ccd190e25f98989a8162339ad9e837df82d57870eec"
@@ -261,7 +261,7 @@ file_checksums:
261
261
  _sass/theme/_backgrounds.scss: "a0963147a79b91db3939700c21a0aa5a8b2eff418068fcd499295de17ff13eed"
262
262
  _sass/theme/_color-modes.scss: "69a86515638192492c10acdf23b3489cb796662eb22b76ff49c1dd1ab1139b0c"
263
263
  _sass/theme/_css-variables.scss: "1a77c72dbef2824d6aa09601cd2a1de7e6112ef7c37f9a7df5d6030a99b8b329"
264
- _sass/theme/_skins.scss: "4b206347ceee672e0fa60137be6fbc7f33f04c3afd6ed283e4440281ea3accfe"
264
+ _sass/theme/_skins.scss: "4661fd169a4495bf122f44a61816a4f62c226a1fd7d5b24c2aed6b750452a083"
265
265
  _sass/theme/_wizard-mode.scss: "f5feb0385422e8c9f7aea55d26aa5760e87ce8a8d3df210916b7a30e04d32e6b"
266
266
  _sass/tokens/_breakpoints.scss: "7b4641eff577ab964ef8f6d754eadcf6022b55509b27b33eab79caff79f45944"
267
267
  _sass/tokens/_color.scss: "fcbb810626661c00dd21566440b46f5901b519c2ab478272ac111d6eafdb1d17"
@@ -293,7 +293,7 @@ file_checksums:
293
293
  assets/js/extension-points-demo.js: "e86712b6157d47c4e8760799fe896ea3b2f560bf5cd108745c2475a29b819edc"
294
294
  assets/js/fleet-feedback-capture.js: "f51b99aea37b9a41b00bfa9acc071b4e871999359e82d1e4b358af0eef743892"
295
295
  assets/js/fleet-feedback.js: "61b5aa0a49c6465fbab1f1f34e3ac1f0a3d627e418e554bf2ea1366b92fd124a"
296
- assets/js/halfmoon.js: "472650069d16004a9635edcefa1e60e0771e20ec5de9464b7bcf5220d20604d1"
296
+ assets/js/halfmoon.js: "5a25a3b0e1651da13827d5ff3d7b6cc8a494f0292dee98fa4be753f93ac09658"
297
297
  assets/js/mermaid-diagrams.js: "c04d934109af0a4653ad30cb1d22913cea982e430cdf384f9f692b296352cd23"
298
298
  assets/js/modules/navigation/config.js: "226f341b4d0c7ef2b6a4eb98f5ab1ba9d626a9a24a9c66d889f1b3da3e0ad9f5"
299
299
  assets/js/modules/navigation/focus.js: "cd73b2bf9d6701a35f075a6304ebf92173c4b89eb021ce8df594e27e173528ca"
@@ -322,7 +322,7 @@ file_checksums:
322
322
  assets/js/particles.js: "48234a606a6dbbe9420112aebaf78a78f935bb85e5d258f2904f64c57a54d0ae"
323
323
  assets/js/posts-pagination.js: "ed4b98bd1c958766ce604175bbef0681f7bc70d6b9bb306907f2ac676baf36f8"
324
324
  assets/js/recipe-scaler.js: "b05aa0cd0fafeadbf4454c4cacf1463f994e263a1f4a79a1d177f35a560a1e6e"
325
- assets/js/search-modal.js: "f94efe1fde116d2cfd163d7eb5882b43405f83bfd3f605af28c7cb786460d08a"
325
+ assets/js/search-modal.js: "2d495ab1d0b2f5aa50af6aa7a9962b80656e78e7d97b8652610fcb0b64ea3632"
326
326
  assets/js/setup-wizard.js: "0ef2dcce4d93e753326999c7360dedda7b7d5b05cec2a52350b0110d0e583d0a"
327
327
  assets/js/share-actions.js: "810a326d8aa33633854364d91caddfff1c769eaa7d437a746f96a752c2e2fdae"
328
328
  assets/js/side-bar-folders.js: "133606c23a03b9370308811e0a39187f4dd43b487628f8d875ac631afa28598a"
@@ -14,16 +14,18 @@
14
14
  (halfmoon.js + core/color-mode-init.html enforce the same).
15
15
  {% endcomment %}
16
16
  {% unless site.color_mode_lock %}
17
+ {% comment %} Server-render the configured mode as selected (#521) so no-JS and pre-hydration state is right; halfmoon.js then applies any stored preference. {% endcomment %}
18
+ {%- assign _cm = site.color_mode_default | default: 'auto' -%}
17
19
  <div class="btn-group bd-theme-switch {{ include.class | default: '' }}" role="group" aria-label="Color mode">
18
- <button type="button" class="btn btn-outline-secondary btn-sm d-flex align-items-center justify-content-center gap-1" data-bs-theme-value="light" aria-pressed="false">
20
+ <button type="button" class="btn btn-outline-secondary btn-sm d-flex align-items-center justify-content-center gap-1{% if _cm == 'light' %} active{% endif %}" data-bs-theme-value="light" aria-pressed="{% if _cm == 'light' %}true{% else %}false{% endif %}">
19
21
  <svg class="bi flex-shrink-0" width="1em" height="1em" fill="currentColor" aria-hidden="true"><use href="#sun-fill"></use></svg>
20
22
  <span>Light</span>
21
23
  </button>
22
- <button type="button" class="btn btn-outline-secondary btn-sm d-flex align-items-center justify-content-center gap-1" data-bs-theme-value="dark" aria-pressed="false">
24
+ <button type="button" class="btn btn-outline-secondary btn-sm d-flex align-items-center justify-content-center gap-1{% if _cm == 'dark' %} active{% endif %}" data-bs-theme-value="dark" aria-pressed="{% if _cm == 'dark' %}true{% else %}false{% endif %}">
23
25
  <svg class="bi flex-shrink-0" width="1em" height="1em" fill="currentColor" aria-hidden="true"><use href="#moon-stars-fill"></use></svg>
24
26
  <span>Dark</span>
25
27
  </button>
26
- <button type="button" class="btn btn-outline-secondary btn-sm d-flex align-items-center justify-content-center gap-1" data-bs-theme-value="auto" aria-pressed="false">
28
+ <button type="button" class="btn btn-outline-secondary btn-sm d-flex align-items-center justify-content-center gap-1{% if _cm == 'auto' %} active{% endif %}" data-bs-theme-value="auto" aria-pressed="{% if _cm == 'auto' %}true{% else %}false{% endif %}">
27
29
  <svg class="bi flex-shrink-0" width="1em" height="1em" fill="currentColor" aria-hidden="true"><use href="#circle-half"></use></svg>
28
30
  <span>Auto</span>
29
31
  </button>
@@ -52,7 +52,16 @@
52
52
  Build the file path, branch, and repo owner for action buttons.
53
53
  {% endcomment %}
54
54
  {% assign repo_branch = site.branch | default: "main" %}
55
- {% assign file_path = page_dir | append: "/" | append: page.path %}
55
+ {% comment %}
56
+ Only join with "/" when there is a collection directory. Pages outside a
57
+ collection have an empty page_dir, and the unconditional join produced
58
+ ".../blob/main//pages/tags.md" (double slash) in the edit/source links.
59
+ {% endcomment %}
60
+ {% if page_dir and page_dir != "" %}
61
+ {% assign file_path = page_dir | append: "/" | append: page.path %}
62
+ {% else %}
63
+ {% assign file_path = page.path %}
64
+ {% endif %}
56
65
  {% assign repo_parts = site.repository | split: "/" %}
57
66
  {% assign repo_owner = repo_parts[0] %}
58
67
  {% assign page_absolute_url = page.url | absolute_url %}
@@ -239,7 +248,8 @@
239
248
  <div class="bd-intro-actions">
240
249
  {% comment %} Share Button {% endcomment %}
241
250
  <div class="dropdown">
242
- <button class="btn btn-sm btn-info dropdown-toggle" type="button" id="shareDropdownBottom" data-bs-toggle="dropdown" aria-expanded="false">
251
+ {%- comment -%} aria-label keeps an accessible name below 576px, where the visible text is d-none. {%- endcomment -%}
252
+ <button class="btn btn-sm btn-info dropdown-toggle" type="button" id="shareDropdownBottom" data-bs-toggle="dropdown" aria-expanded="false" aria-label="{{ ui.share_label | default: 'Share' }}">
243
253
  <i class="bi bi-share" aria-hidden="true"></i>
244
254
  <span class="d-none d-sm-inline ms-1">{{ ui.share_label | default: "Share" }}</span>
245
255
  </button>
@@ -300,7 +310,8 @@
300
310
  <a href="https://github.com/{{ site.repository }}/blob/{{ repo_branch }}/{{ file_path }}"
301
311
  class="btn btn-sm btn-dark bd-intro-action-link"
302
312
  target="_blank"
303
- rel="noopener noreferrer">
313
+ rel="noopener noreferrer"
314
+ aria-label="{{ ui.edit_on_github | default: 'Edit on GitHub' }}">
304
315
  <i class="bi bi-github" aria-hidden="true"></i>
305
316
  <span class="d-none d-sm-inline ms-1">{{ ui.edit_on_github | default: "Edit on GitHub" }}</span>
306
317
  </a>
@@ -236,7 +236,9 @@
236
236
  <button type="button" class="btn btn-primary w-100" disabled title="Configure a newsletter endpoint in your site config">Subscribe</button>
237
237
  </div>
238
238
  <div class="col-12">
239
- <p id="footer-subscribe-hint" class="small text-white-50 mb-0 d-none d-md-block">Newsletter is a placeholder until you connect a provider.</p>
239
+ {% comment %} The describedby target must stay in the a11y tree at every width (#522); the d-none paragraph is the sighted ≥md duplicate only. {% endcomment %}
240
+ <span id="footer-subscribe-hint" class="visually-hidden">Newsletter is a placeholder until you connect a provider.</span>
241
+ <p class="small text-white-50 mb-0 d-none d-md-block" aria-hidden="true">Newsletter is a placeholder until you connect a provider.</p>
240
242
  </div>
241
243
  </form>
242
244
  </div>
@@ -129,23 +129,10 @@ window.MathJax = {
129
129
  {% comment %} ========================== {% endcomment %}
130
130
  {% comment %} STRUCTURED DATA MARKUP {% endcomment %}
131
131
  {% comment %} ========================== {% endcomment %}
132
- {% comment %} Enhanced meta data for rich snippets and social media {% endcomment %}
133
- {% if page.title %}
134
- <meta itemprop="headline" content="{{ page.title | markdownify | strip_html | strip_newlines | escape_once }}">
135
- {% endif %}
136
- {% if page.description %}
137
- <meta itemprop="description" content="{{ page.description | markdownify | strip_html | strip_newlines | escape_once }}">
138
- {% elsif page.excerpt %}
139
- <meta itemprop="description" content="{{ page.excerpt | markdownify | strip_html | strip_newlines | escape_once}} ">
140
- {% endif %}
141
- {% if page.date %}
142
- <meta itemprop="datePublished" content="{{ page.date | date_to_xmlschema }}">
143
- {% endif %}
144
- {% if page.last_modified_at %}
145
- <meta itemprop="dateModified" content="{{ page.last_modified_at | date_to_xmlschema }}">
146
- {% elsif page.lastmod %}
147
- <meta itemprop="dateModified" content="{{ page.lastmod | date_to_xmlschema }}">
148
- {% endif %}
132
+ {% comment %} No microdata properties here: <head> has no item scope, so a property
133
+ in it belongs to no item and parsers discard it (#513). headline/description/dates
134
+ come from jekyll-seo-tag's JSON-LD in root.html, and from the body item on
135
+ article-type layouts. {% endcomment %}
149
136
 
150
137
  {% comment %} JSON-LD SoftwareApplication schema (homepage only) {% endcomment %}
151
138
  {% include content/jsonld-software.html %}