Passer au contenu principal

Settings

Color Mode

Theme Skin

Background

Appearance preferences are saved in this browser only.

Environment

Current Environment Dev

Built with JEKYLL_ENV=development. Changes auto-reload under jekyll serve.

Theme & Build

Jekyll v3.10.0
Last BuildOct 31, 06:01

Page Location

Page Info

Layout default
Collection none
Path fr/docs/customization/includes.md
URL /fr/docs/customization/includes/
Cette page a été traduite automatiquement depuis l'original en anglais. Voir l'original

Composants d'include

Guide des plus de 70 composants d'include réutilisables, organisés par catégorie pour une flexibilité maximale.

Composants d’inclusion

Le thème Zer0-Mistakes comprend plus de 70 composants réutilisables organisés par catégorie.

Vue d’ensemble

_includes/
├── analytics/     # Analytics integrations
├── components/    # UI components
├── content/       # Content rendering
├── core/          # Core layout elements
├── docs/          # Documentation specific
├── landing/       # Landing page components
├── navigation/    # Navigation elements
└── stats/         # Statistics dashboard

Utilisation des inclusions

Utilisation de base

{% include navigation/navbar.html %}

Avec des paramètres

{% include components/post-card.html post=post %}

Inclusion conditionnelle

{% if page.toc %}
  {% include content/toc.html %}
{% endif %}

Inclusions d’analyse

Inclusion Objectif
analytics/google-analytics.html Google Analytics 4
analytics/google-tag-manager-head.html Script GTM dans l’en-tête
analytics/google-tag-manager-body.html GTM body noscript
analytics/posthog.html Analyse PostHog

Utilisation

{% include analytics/posthog.html %}

Inclusions de composants

Inclusion Objectif
components/author-card.html Carte d’informations sur l’auteur
components/cookie-consent.html Bandeau de cookies RGPD
components/mermaid.html Chargeur de diagrammes Mermaid
components/post-card.html Carte d’article de blog
components/preview-image.html Gestionnaire d’image d’aperçu
components/background-image.html Illustration de couverture en arrière-plan CSS, avec role="img" + aria-label ou aria-hidden
components/search-modal.html Fenêtre modale de recherche
components/searchbar.html Ébauche de recherche de style Algolia (obsolète, utiliser search-modal.html)
components/theme-info.html Fenêtre modale de version du thème

Exemple de carte d’article

{% for post in site.posts limit: 3 %}
  {% include components/post-card.html post=post %}
{% endfor %}

Carte d’auteur

{% include components/author-card.html 
   name=page.author 
   avatar="/assets/images/avatar.png" 
%}

Inclusions de contenu

Inclusion Objectif
content/giscus.html Commentaires GitHub Discussions
content/intro.html Introduction de la page
content/seo.html Balises meta SEO
content/sitemap.html Entrée de sitemap
content/toc.html Table des matières

Inclusion de la table des matières

{% if page.toc != false %}
  {% include content/toc.html %}
{% endif %}

Inclusion des commentaires

{% if page.comments != false and site.giscus.enabled %}
  {% include content/giscus.html %}
{% endif %}

Inclusions principales

Inclusion Objectif
core/branding.html Logo et titre du site
core/footer.html Pied de page
core/head.html Section head HTML
core/header.html En-tête de page/barre de navigation

Utilisation de la mise en page

<!DOCTYPE html>
<html>
  <head>
    {% include core/head.html %}
  </head>
  <body>
    {% include core/header.html %}
    {{ content }}
    {% include core/footer.html %}
  </body>
</html>

Inclusions de navigation

Inclusion Objectif
navigation/breadcrumbs.html Fil d’Ariane
navigation/nav_list.html Liste de navigation
navigation/nav-tree.html Navigation arborescente
navigation/navbar.html Barre de navigation principale
navigation/sidebar-config.html Résout le mode/titre/icône effectif de la barre latérale (page → collection → site)
navigation/sidebar-nav.html Affiche le mode de barre latérale résolu
navigation/sidebar-categories.html Barre latérale de catégories/étiquettes (articles par terme de taxonomie)
navigation/sidebar-folders.html Barre latérale de collection (arborescence de dossiers repliable)
navigation/sidebar-left.html Panneau de barre latérale gauche
navigation/sidebar-right.html Barre latérale droite (table des matières)

Barre latérale avec navigation

Le mode de barre latérale provient de la clé de front matter sidebar.nav (ou d’une valeur par défaut de collection/site), et non d’un paramètre d’inclusion :

sidebar:
  nav: docs   # auto | collection | categories | tags | <_data/navigation file>
{% include navigation/sidebar-left.html %}

Consultez Navigation par barre latérale pour la référence complète des modes et options.

Inclusions de page d’accueil

Inclusion Objectif
landing/landing-install-cards.html Options d’installation
landing/landing-quick-links.html Liens d’action rapide

Utilisation

{% include landing/landing-install-cards.html %}

Includes de statistiques

Include Objectif
stats/stats-categories.html Statistiques de catégorie
stats/stats-header.html En-tête de la page de statistiques
stats/stats-metrics.html Affichage des métriques
stats/stats-no-data.html État vide
stats/stats-overview.html Cartes de synthèse
stats/stats-tags.html Nuage de tags

Créer des includes personnalisés

Include de base

<!-- _includes/components/custom.html -->
<div class="custom-component">
  <h3></h3>
  <p></p>
</div>

Avec des paramètres

{% include components/custom.html 
   title="My Title" 
   content="My content" 
%}

Avec des valeurs par défaut

{% assign title = include.title | default: "Default Title" %}
<h3>{{ title }}</h3>

Contenu conditionnel

{% if include.show_icon %}
  <i class="bi bi-{{ include.icon }}"></i>
{% endif %}

Bonnes pratiques

Documentation des paramètres

Ajoutez des commentaires en haut des includes :

<!--
  Include: post-card.html
  Parameters:
    - post (required): Post object
    - show_excerpt (optional): Show excerpt, default true
    - show_date (optional): Show date, default true
-->

Gestion des erreurs

{% if include.post %}
  <!-- render post card -->
{% else %}
  <!-- error: post required -->
{% endif %}

Performance

  • Évitez les boucles imbriquées dans les includes
  • Utilisez des captures pour la logique complexe
  • Mettez en cache les opérations coûteuses

Remplacer les includes du thème

Copier et modifier

  1. Copiez l’include du thème vers votre _includes/
  2. Modifiez selon vos besoins
  3. Jekyll utilise votre version

Vérifier l’emplacement du thème

bundle show jekyll-theme-zer0
# Copy includes from gem location

Dépannage

Include introuvable

  1. Vérifiez que le chemin du fichier est correct
  2. Vérifiez que le fichier existe
  3. Recherchez les fautes de frappe dans le nom du fichier

Paramètre qui ne fonctionne pas

  1. Vérifiez que le nom du paramètre correspond
  2. Vérifiez les paramètres requis
  3. Déboguez avec nil

Boucle infinie

  1. Recherchez les includes circulaires
  2. Ajoutez des garde-fous pour la récursion
  3. Utilisez une limite de profondeur

Ressources associées

Référence technique

Pour les détails destinés aux contributeurs (référence de l’API des composants, paramètres des includes, extension de la bibliothèque de composants) :

Voir aussi

  • [[Customization]]
  • [[Layouts]]
  • [[Bootstrap 5 Integration in Zer0-Mistakes Bootstrap 5 Integration]]