Есть два семантически правильных решения этого вопроса:
- Используя плагин
- Создание пользовательского включения
1. Использование плагина
Я попробовал пару плагинов, делающих это, и мой любимый этоjekyll-figure
.
1.1. устанавливатьjekyll-figure
Один из способов установки jekyll-figure
- добавить gem "jekyll-figure"
ваш Gemfile в группу плагинов.
Затем бегите bundle install
из окна вашего терминала.
1.2. использованиеjekyll-figure
Просто оберните ваши уценки {% figure %}
и {% endfigure %}
теги.
{% figure %}
Ваша подпись помещается в открывающий тег, и вы даже можете оформить его с помощью markdown!
Пример:
{% 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. Стиль это
Теперь, когда ваши изображения и подписи семантически верны, вы можете применять CSS так, как вы хотите:
figure
(для изображения и подписи)
figure img
(только для изображения)
figcaption
(только для подписи)
2. Создание пользовательского включения
Вам нужно будет создать image.html
файл в вашей _includes
папке и включить его, используя Liquid в Markdown .
2.1. Создать _includes / image.html
Создайте image.html
документ в папке _include:
<!-- _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. В Markdown добавьте изображение с помощью Liquid
Изображение /assets/images
с подписью:
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 -->
%}
(Внешнее) изображение с использованием абсолютного URL: (изменить src=""
на 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 -->
%}
Кликабельное изображение: (добавить url=""
аргумент)
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 -->
%}
Изображение без подписи:
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. Стиль это
Теперь, когда ваши изображения и подписи семантически верны, вы можете применять CSS так, как вы хотите:
figure
(для изображения и подписи)
figure img
(только для изображения)
figcaption
(только для подписи)
site_root
не менее, не принимается в качестве допустимой переменной. Когда оказано это заканчивается какsrc="{{ site.url_root }}...
.