Используя подписи к изображению в уценке Джекил
Я размещаю блог Jekyll на Github и пишу свои сообщения с Markdown. Когда я добавляю изображения, я делаю это следующим образом:

Это затем показывает изображение в тексте.
однако, как я могу сказать Markdown, чтобы добавить заголовок, который представлен ниже или выше изображения?
9 ответов:
если вы не хотите использовать какие-либо плагины (что означает, что вы можете нажать его на GitHub напрямую, не создавая сайт сначала), вы можете создать новый файл с именем
image.htmlна_includes:<table class="image"> <caption align="bottom">{{ include.description }}</caption> <tr><td><img src="{{ include.url }}" alt="{{ include.description }}"/></td></tr> </table>(и, очевидно, я не дизайнер. Вероятно, вы должны использовать CSS вместо таблицы, чтобы правильно выровнять изображение)
а затем отобразить изображение из вашего markdown с:
{% include image.html url="/images/my-cat.jpg" description="My cat, Robert Downey Jr." %}
Я знаю, что это старый вопрос, но я думал, что все равно поделюсь своим методом добавления заголовков изображений. Вы не сможете использовать
captionилиfigcaptionтеги, но это будет простая альтернатива без использования каких-либо плагинов.в вашем markdown, вы можете обернуть свой заголовок с тегом акцент и поставить его непосредственно под изображением, не вставляя новую строку, как так:
 *image_caption*это создаст следующий HTML:
<p> <img src="path_to_image" alt> <em>image_caption</em> </p>затем в CSS вы можете стилизовать его с помощью следующего селектора, не вмешиваясь в другие
emтеги на странице:img + em { }обратите внимание, что вы не должны иметь пустую строку между изображением и заголовком, потому что вместо этого будет генерировать:
<p> <img src="path_to_image" alt> </p> <p> <em>image_caption</em> </p>вы также можете использовать любой тег, который вы хотите, кроме
em. Просто убедитесь, что есть тег, иначе вы не сможете его стилизовать.
Если вы только добавляете случайный заголовок, и вы хотите использовать больше смысловой
<figure>и<figcaption>подумайте о том, чтобы просто добавить этот html в свой документ markdown:Lorem ipsum dolor sit amet, consectetur adipiscing elit... <figure> <img src="{{site.url}}/assets/image.jpg" alt="my alt text"/> <figcaption>This is my caption text.</figcaption> </figure> Vestibulum eu vulputate magna...Это намного проще, чем возиться с плагинами и Markdown поощряет встраивание HTML, так что он будет отображать нормально.
вы можете попробовать использовать
pandocкак ваш конвертер. вот плагин jekyll для реализации этого. Pandoc сможет добавить подпись к рисунку так же, как и вашaltавтоматически атрибута.но вы должны нажать скомпилированный сайт, потому что github не разрешает плагины на страницах Github для обеспечения безопасности.
небольшой рифф на топ проголосовал за ответ что я нашел, чтобы быть немного более явным, чтобы использовать синтаксис jekyll для добавления класса к чему-то, а затем стиль его таким образом.
Так что в посте у вас будет:
 {:.image-caption} *The caption for my image*и тогда в вашем CSS файле вы можете сделать что-то вроде этого:
.image-caption { text-align: center; font-size: .8rem; color: light-grey;выходит хорошо выглядит!
Андрей @Андрей-Вэй ответ Отлично работает. Вы также можете связать несколько вместе, в зависимости от того, что вы пытаетесь сделать. Это, например, дает вам изображение с alt, заголовком и заголовком с разрывом строки и полужирным шрифтом и курсивом в разных частях заголовка:
img + br + strong {margin-top: 5px; margin-bottom: 7px; font-style:italic; font-size: 12px; } img + br + strong + em {margin-top: 5px; margin-bottom: 7px; font-size: 12px; font-style:italic;}следующим
<img>markdown: ***Image:*** *description*
вот самое простое (но не самое красивое) решение: сделайте таблицу вокруг всего этого. Очевидно, что есть проблемы с масштабированием, и именно поэтому я приведу свой пример с HTML, чтобы вы могли легко изменить размер изображения. Это сработало для меня.
| <img src="" alt="" style="width: 400px;"/> | | My Caption |
есть два семантически правильных решения этого вопроса:
- С помощью плагина
- создание пользовательского include
1. С помощью плагина
я пробовал пару плагинов делать это и мой фаворит -
jekyll-figure.1.1. Установить
jekyll-figureодин из способов установить
jekyll-figureдобавитьgem "jekyll-figure"к вашему Gemfile в вашей группе плагинов.затем запустите
bundle installиз окна терминала.1.2. Используйте
jekyll-figureпросто оберните свою уценку в
{% figure %}и{% endfigure %}теги.вы подпись идет в открытие
{% figure %}тег, и вы даже можете стиль его с уценкой!пример:
{% figure caption:"Le logo de **Jekyll** et son clin d'oeil à Robert Louis Stevenson" %}  {% endfigure %}1.3. Стиль его
теперь, когда ваши изображения и подписи семантически корректны, вы можете применить CSS, как вы хотите:
figure(для изображение и подпись)figure img(на изображении только)figcaption(заголовок только)2. Создание пользовательского include
вам потребуется создать в своем
_includesпапку и включить его с помощью жидкости в Markdown.2.1. Создать _includes / image.HTML-код
создать
image.htmlдокумент в папке _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. В Markdown, включить изображение с помощью жидкости
изображение
/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: (change
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 --> %}кликабельное изображение: (добавить

Comments