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-figure
est d'ajouter gem "jekyll-figure"
à votre Gemfile dans votre groupe de plugins.
Ensuite, exécutez à bundle install
partir 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" %}
![Le logo de Jekyll](/assets/images/2018-08-07-jekyll-logo.png)
{% 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.html
fichier dans votre _includes
dossier et l' inclure à l'aide de Liquid dans Markdown .
2.1. Créer _includes / image.html
Créez le image.html
document 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/images
avec 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_root
n'est pas acceptée comme variable valide. Une fois rendu, il se termine parsrc="{{ site.url_root }}...
.