Estou hospedando um Blog Jekyll no Github e escrevo minhas postagens com Markdown. Quando adiciono imagens, faço da seguinte maneira:
![name of the image](http://link.com/image.jpg)
Isso mostra a imagem no texto.
No entanto, como posso dizer ao Markdown para adicionar uma legenda que é apresentada abaixo ou acima da imagem?
site_root
não é aceito como uma variável válida. Quando renderizado, acaba comosrc="{{ site.url_root }}...
.site.url
variável.<figure class="image"><img src="{{ include.url }}" alt="{{ include.description }}"><figcaption>{{ include.description }}</figcaption></figure>
include image.html
? Estou tentando com algo como,{% for image in page.images %}
mas sem sucesso. Pode me ajudar?Sei que essa é uma pergunta antiga, mas pensei em compartilhar meu método de adicionar legendas à imagem. Você não poderá usar as tags
caption
oufigcaption
, mas essa seria uma alternativa simples sem o uso de plugins.Na sua marcação, você pode agrupar sua legenda com a tag de ênfase e colocá-la diretamente abaixo da imagem sem inserir uma nova linha da seguinte forma:
Isso geraria o seguinte HTML:
Em seu CSS, você pode estilizá-lo usando o seguinte seletor sem interferir com outras
em
tags da página:Observe que você não deve ter uma linha em branco entre a imagem e a legenda, pois isso geraria:
Você também pode usar qualquer tag que você queira que não seja
em
. Apenas verifique se há uma tag, caso contrário você não poderá estilizá-la.fonte
<link href="{{ site.baseurl }}/assets/css/main.css" rel="stylesheet">
então apenas adiciono minha definição CSS personalizada na parte inferior deste arquivo:// My custom css img + em { display: block; text-align: center; } //image captions
Você pode usar tabela para isso. Funciona bem.
Resultado:
fonte
O HTML correto a ser usado para imagens com legendas é
<figure>
com<figcaption>
.Não há um equivalente do Markdown para isso; portanto, se você estiver adicionando apenas uma legenda ocasional, recomendamos que você adicione esse html ao seu documento do Markdown:
A especificação Markdown incentiva você a incorporar HTML em casos como esse, para que seja exibido corretamente. Também é muito mais simples do que mexer com plugins.
Se você estiver tentando usar outros recursos do Markdown-y (como tabelas, asteriscos, etc.) para produzir legendas, estará apenas pesquisando como o Markdown deveria ser usado.
fonte
Um pequeno riff na resposta votada que achei um pouco mais explícita é usar a sintaxe jekyll para adicionar uma classe a alguma coisa e depois estilizá-la dessa maneira.
Então, no post você teria:
E então, no seu arquivo CSS, você pode fazer algo assim:
Sai com boa aparência!
fonte
Existem duas soluções semanticamente corretas para essa pergunta:
1. Usando um plugin
Eu tentei alguns plugins fazendo isso e o meu favorito é
jekyll-figure
.1.1 Instalar
jekyll-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 Usar
jekyll-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:
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:2.2 No Markdown, inclua uma imagem usando Liquid
Uma imagem
/assets/images
com uma legenda:Uma imagem (externa) usando um URL absoluto: (mude
src=""
parasrcabs=""
)Uma imagem clicável: (adicionar
url=""
argumento)Uma imagem sem legenda:
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)fonte
Você pode tentar usar
pandoc
como seu conversor. Aqui está um plugin jekyll para implementar isso. O Pandoc poderá adicionaralt
automaticamente uma legenda à figura como seu atributo.Mas você precisa enviar o site compilado porque o github não permite plugins nas páginas do Github por segurança.
fonte
A resposta de Andrew-andrew-wei funciona muito bem. Você também pode encadear alguns, dependendo do que você está tentando fazer. Por exemplo, você obtém uma imagem com alt, título e legenda com uma quebra de linha e negrito e itálico em diferentes partes da legenda:
Com a seguinte
<img>
remarcação:fonte
Esse é o uso básico da legenda. Não é necessário usar um plug-in extra.
fonte
Aqui está a solução mais simples (mas não a mais bonita): faça uma mesa em torno da coisa toda. Obviamente, há problemas de dimensionamento, e é por isso que dou meu exemplo com o HTML para que você possa modificar o tamanho da imagem facilmente. Isso funcionou para mim.
fonte