Il existe deux solutions sémantiquement correctes à cette question:
- Utiliser un plugin
- Créer une inclusion personnalisée
1. Utilisation d'un plugin
J'ai essayé quelques plugins pour faire cela et mon préféré estjekyll-figure .
1.1. Installerjekyll-figure
Une façon d'installer jekyll-figureest d'ajouter gem "jekyll-figure"à votre Gemfile dans votre groupe de plugins.
Ensuite, exécutez à bundle installpartir de la fenêtre de votre terminal.
1.2. Utilisationjekyll-figure
Enveloppez simplement votre démarque {% figure %}et vos {% endfigure %}balises.
Votre légende va dans la {% figure %}balise d' ouverture , et vous pouvez même la styliser avec Markdown!
Exemple:
{% figure caption:"Le logo de **Jekyll** et son clin d'oeil à Robert Louis Stevenson" %}

{% endfigure %}
1.3. Donnez du style
Maintenant que vos images et légendes sont sémantiquement correctes, vous pouvez appliquer le CSS comme vous le souhaitez:
figure (pour l'image et la légende)
figure img (pour l'image uniquement)
figcaption (pour la légende seulement)
2. Création d'une inclusion personnalisée
Vous devrez créer un image.htmlfichier dans votre _includesdossier et l' inclure à l'aide de Liquid dans Markdown .
2.1. Créer _includes / image.html
Créez le image.htmldocument dans votre dossier _includes:
<!-- _includes/image.html -->
<figure>
{% if include.url %}
<a href="{{ include.url }}">
{% endif %}
<img
{% if include.srcabs %}
src="{{ include.srcabs }}"
{% else %}
src="{{ site.baseurl }}/assets/images/{{ include.src }}"
{% endif %}
alt="{{ include.alt }}">
{% if include.url %}
</a>
{% endif %}
{% if include.caption %}
<figcaption>{{ include.caption }}</figcaption>
{% endif %}
</figure>
2.2. Dans Markdown, incluez une image à l'aide de Liquid
Une image /assets/imagesavec une légende:
This is [Jekyll](https://jekyllrb.com)'s logo :
{% include image.html
src="jekyll-logo.png" <!-- image filename (placed in /assets/images) -->
alt="Jekyll's logo" <!-- alt text -->
caption="This is Jekyll's logo, featuring Dr. Jekyll's serum!" <!-- Caption -->
%}
Une image (externe) utilisant une URL absolue: (remplacer src=""par srcabs="")
This is [Jekyll](https://jekyllrb.com)'s logo :
{% include image.html
srcabs="https://jekyllrb.com/img/logo-2x.png" <!-- absolute URL to image file -->
alt="Jekyll's logo" <!-- alt text -->
caption="This is Jekyll's logo, featuring Dr. Jekyll's serum!" <!-- Caption -->
%}
Une image cliquable: (ajouter un url=""argument)
This is [Jekyll](https://jekyllrb.com)'s logo :
{% include image.html
src="https://jekyllrb.com/img/logo-2x.png" <!-- absolute URL to image file -->
url="https://jekyllrb.com" <!-- destination url -->
alt="Jekyll's logo" <!-- alt text -->
caption="This is Jekyll's logo, featuring Dr. Jekyll's serum!" <!-- Caption -->
%}
Une image sans légende:
This is [Jekyll](https://jekyllrb.com)'s logo :
{% include image.html
src="https://jekyllrb.com/img/logo-2x.png" <!-- absolute URL to image file -->
alt="Jekyll's logo" <!-- alt text -->
%}
2.3. Donnez du style
Maintenant que vos images et légendes sont sémantiquement correctes, vous pouvez appliquer le CSS comme vous le souhaitez:
figure (pour l'image et la légende)
figure img (pour l'image uniquement)
figcaption (pour la légende seulement)
site_rootn'est pas acceptée comme variable valide. Une fois rendu, il se termine parsrc="{{ site.url_root }}....