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" %}
![Le logo de Jekyll](/assets/images/2018-08-07-jekyll-logo.png)
{% 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.html
arquivo em sua _includes
pasta e incluí-lo usando Liquid no Markdown .
2.1 Crie _includes / image.html
Crie o image.html
documento 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/images
com 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_root
não é aceito como uma variável válida. Quando renderizado, acaba comosrc="{{ site.url_root }}...
.