Я веду блог Jekyll на Github и пишу свои сообщения с Markdown. Когда я добавляю изображения, я делаю это следующим образом:
![name of the image](http://link.com/image.jpg)
Это тогда показывает изображение в тексте.
Однако, как я могу сказать Markdown добавить заголовок, который представлен ниже или выше изображения?
site_root
не менее, не принимается в качестве допустимой переменной. Когда оказано это заканчивается какsrc="{{ site.url_root }}...
.site.url
переменную.<figure class="image"><img src="{{ include.url }}" alt="{{ include.description }}"><figcaption>{{ include.description }}</figcaption></figure>
include image.html
? Я пытаюсь с чем-то вроде,{% for image in page.images %}
но безуспешно. Вы можете помочь мне?Я знаю, что это старый вопрос, но я решил поделиться своим методом добавления подписей к изображениям. Вы не сможете использовать теги
caption
orfigcaption
, но это будет простая альтернатива без использования каких-либо плагинов.В вашей уценке вы можете обернуть заголовок тегом выделения и поместить его непосредственно под изображением, не вставляя новую строку, например, так:
Это сгенерирует следующий HTML:
Затем в вашем CSS вы можете стилизовать его, используя следующий селектор, не мешая другим
em
тегам на странице:Обратите внимание, что у вас не должно быть пустой строки между изображением и заголовком, потому что вместо этого будет генерироваться:
Вы также можете использовать любой тег, который вы хотите, кроме
em
. Просто убедитесь, что есть тег, иначе вы не сможете его стилизовать.источник
<link href="{{ site.baseurl }}/assets/css/main.css" rel="stylesheet">
поэтому я просто добавляю свое пользовательское определение CSS внизу этого файла:// My custom css img + em { display: block; text-align: center; } //image captions
Вы можете использовать таблицу для этого. Работает нормально.
Результат:
источник
Правильный HTML-код для изображений с подписями -
<figure>
с<figcaption>
.Для этого нет эквивалента уценки, поэтому, если вы добавляете только случайный заголовок, я рекомендую вам просто добавить этот HTML-код в документ уценки:
Спецификация Markdown рекомендует вам встраивать HTML в таких случаях, поэтому он будет отображаться очень хорошо. Это также намного проще, чем возиться с плагинами.
Если вы пытаетесь использовать другие функции Markdown-y (например, таблицы, звездочки и т. Д.) Для создания подписей, то вы просто разбираетесь в том, как Markdown предназначался для использования.
источник
Небольшой риф на ответе с верхним голосом, который я нашел немного более явным, состоит в том, чтобы использовать синтаксис jekyll для добавления класса к чему-то и затем стилизовать его таким образом.
Так что в посте вы бы имели:
И тогда в вашем файле CSS вы можете сделать что-то вроде этого:
Выглядит хорошо!
источник
Есть два семантически правильных решения этого вопроса:
1. Использование плагина
Я попробовал пару плагинов, делающих это, и мой любимый это
jekyll-figure
.1.1. устанавливать
jekyll-figure
Один из способов установки
jekyll-figure
- добавитьgem "jekyll-figure"
ваш Gemfile в группу плагинов.Затем бегите
bundle install
из окна вашего терминала.1.2. использование
jekyll-figure
Просто оберните ваши уценки
{% figure %}
и{% endfigure %}
теги.{% figure %}
Ваша подпись помещается в открывающий тег, и вы даже можете оформить его с помощью markdown!Пример:
1.3. Стиль это
Теперь, когда ваши изображения и подписи семантически верны, вы можете применять CSS так, как вы хотите:
figure
(для изображения и подписи)figure img
(только для изображения)figcaption
(только для подписи)2. Создание пользовательского включения
Вам нужно будет создать
image.html
файл в вашей_includes
папке и включить его, используя Liquid в Markdown .2.1. Создать _includes / image.html
Создайте
image.html
документ в папке _include:2.2. В Markdown добавьте изображение с помощью Liquid
Изображение
/assets/images
с подписью:(Внешнее) изображение с использованием абсолютного URL: (изменить
src=""
наsrcabs=""
)Кликабельное изображение: (добавить
url=""
аргумент)Изображение без подписи:
2,3. Стиль это
Теперь, когда ваши изображения и подписи семантически верны, вы можете применять CSS так, как вы хотите:
figure
(для изображения и подписи)figure img
(только для изображения)figcaption
(только для подписи)источник
Вы можете попробовать использовать в
pandoc
качестве конвертера. Вот плагин Jekyll для реализации этого. Pandoc сможетalt
автоматически добавлять подписи к рисункам так же, как ваш атрибут.Но вы должны подтолкнуть скомпилированный сайт, потому что github не разрешает плагины на страницах Github для безопасности.
источник
Эндрю @ andrew-wei ответ прекрасно работает. Вы также можете объединить несколько цепочек, в зависимости от того, что вы пытаетесь сделать. Это, например, дает вам изображение с alt, заголовком и заголовком с разрывом строки и жирным шрифтом и курсивом в разных частях заголовка:
Со следующей
<img>
уценкой:источник
Это основное использование подписи. Не обязательно использовать дополнительный плагин.
источник
Вот самое простое (но не самое красивое) решение: составьте таблицу вокруг всего этого. Очевидно, есть проблемы с масштабированием, и именно поэтому я привожу свой пример с HTML, чтобы вы могли легко изменять размер изображения. Это сработало для меня.
источник