Existem duas soluções semanticamente corretas para essa pergunta:
- Usando um plugin
- Criando uma Inclusão Customizada
1. Usando um plugin
Eu tentei alguns plugins fazendo isso e o meu favorito éjekyll-figure .
1.1 Instalarjekyll-figure
Uma maneira de instalar jekyll-figureé adicionargem "jekyll-figure" ao seu Gemfile no seu grupo de plugins.
Então corra bundle install partir da janela do seu terminal.
1.2 Usarjekyll-figure
Basta envolver sua remarcação {% figure %}e{% endfigure %} tags.
Você legenda vai na abertura {% figure %} tag de , e você pode até estilizá-la com descontos!
Exemplo:
{% figure caption:"Le logo de **Jekyll** et son clin d'oeil à Robert Louis Stevenson" %}

{% endfigure %}
1.3 Modelá-lo
Agora que suas imagens e legendas estão semanticamente corretas, você pode aplicar CSS conforme desejar:
figure (para imagem e legenda)
figure img (apenas para imagem)
figcaption (apenas para legenda)
2. Criando uma Inclusão Customizada
Você precisará criar um image.htmlarquivo em sua _includespasta e incluí-lo usando Liquid no Markdown .
2.1 Crie _includes / image.html
Crie o image.htmldocumento na sua pasta _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 No Markdown, inclua uma imagem usando Liquid
Uma imagem /assets/imagescom uma legenda:
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 -->
%}
Uma imagem (externa) usando um URL absoluto: (mude src=""para 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 -->
%}
Uma imagem clicável: (adicionar url=""argumento)
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 -->
%}
Uma imagem sem legenda:
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 Modelá-lo
Agora que suas imagens e legendas estão semanticamente corretas, você pode aplicar CSS conforme desejar:
figure (para imagem e legenda)
figure img (apenas para imagem)
figcaption (apenas para legenda)
site_rootnão é aceito como uma variável válida. Quando renderizado, acaba comosrc="{{ site.url_root }}....