Có hai giải pháp đúng về mặt ngữ nghĩa cho câu hỏi này:
- Sử dụng plugin
- Tạo một tùy chỉnh bao gồm
1. Sử dụng plugin
Tôi đã thử một vài plugin làm điều này và yêu thích của tôi làjekyll-figure
.
1.1. Tải vềjekyll-figure
Một cách để cài đặt jekyll-figure
là thêm gem "jekyll-figure"
vào Gemfile của bạn trong nhóm plugin của bạn.
Sau đó chạy bundle install
từ cửa sổ thiết bị đầu cuối của bạn.
1.2. Sử dụngjekyll-figure
Đơn giản chỉ cần bọc markdown của bạn trong {% figure %}
và {% endfigure %}
thẻ.
Chú thích của bạn đi vào {% figure %}
thẻ mở và thậm chí bạn có thể tạo kiểu cho nó bằng cách đánh dấu!
Thí dụ:
{% 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. Phong cách nó
Giờ đây, hình ảnh và chú thích của bạn đã chính xác về mặt ngữ nghĩa, bạn có thể áp dụng CSS theo ý muốn:
figure
(cho cả hình ảnh và chú thích)
figure img
(chỉ dành cho hình ảnh)
figcaption
(chỉ dành cho chú thích)
2. Tạo một tùy chỉnh bao gồm
Bạn sẽ cần tạo một image.html
tệp trong _includes
thư mục của mình và đưa tệp đó vào Liquid trong Markdown .
2.1. Tạo _includes / image.html
Tạo image.html
tài liệu trong thư mục _includes của bạn:
<!-- _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. Trong Markdown, bao gồm hình ảnh bằng Liquid
Một hình ảnh /assets/images
với chú thích:
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 -->
%}
Hình ảnh (bên ngoài) sử dụng URL tuyệt đối: (thay đổi src=""
thành 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 -->
%}
Một hình ảnh có thể nhấp: (thêm url=""
đối số)
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 -->
%}
Một hình ảnh không có chú thích:
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. Phong cách nó
Giờ đây, hình ảnh và chú thích của bạn đã chính xác về mặt ngữ nghĩa, bạn có thể áp dụng CSS theo ý muốn:
figure
(cho cả hình ảnh và chú thích)
figure img
(chỉ dành cho hình ảnh)
figcaption
(chỉ dành cho chú thích)
site_root
không được chấp nhận là một biến hợp lệ. Khi kết xuất nó kết thúc làsrc="{{ site.url_root }}...
.