Markdown Jekyll에서 이미지 캡션 사용


149

Github에서 Jekyll 블로그를 호스팅하고 Markdown으로 게시물을 작성합니다. 이미지를 추가 할 때 다음과 같이합니다.

![name of the image](http://link.com/image.jpg)

그러면 텍스트에 이미지가 표시됩니다.

그러나 Markdown에게 이미지 아래 또는 위에 표시된 캡션을 추가하도록 지시하려면 어떻게해야합니까?

답변:


115

당신이 (당신이 직접 먼저 사이트를 생성하지 않고 GitHub의에 밀어 수있는 수단) 어떤 플러그인을 사용하지 않으려면, 당신은라는 이름의 새 파일을 만들 수 있습니다 image.html에를 _includes:

<figure class="image">
  <img src="{{ include.url }}" alt="{{ include.description }}">
  <figcaption>{{ include.description }}</figcaption>
</figure>

그런 다음 마크 다운에서 이미지를 다음과 같이 표시하십시오.

{% include image.html url="/images/my-cat.jpg" description="My cat, Robert Downey Jr." %}

1
좋은 생각입니다! 그러나 site_root유효한 변수로 허용되지 않습니다. 렌더링되면으로 끝납니다 src="{{ site.url_root }}....
orschiro

2
아, 맞습니다 . Octopress에 추가 된 변수 입니다. 나는 그것을 편집 했으므로 샘플 코드는 이미지에 대한 상대 URL을 사용합니다.
IQAndreas

3
Jekyll은 이제 site.url변수를 포함 합니다.
Roy Tinker

20
더 나은 마크 업은 다음과 같습니다.<figure class="image"><img src="{{ include.url }}" alt="{{ include.description }}"><figcaption>{{ include.description }}</figcaption></figure>
edmundo

더 많은 정보가 필요합니다. include image.html? 를 반복하지 않고도 둘 이상의 이미지를 넣을 수 있습니다 . 나는 {% for image in page.images %}성공했지만 성공하지 못한 것을 시도하고 있습니다. 도와주세요?
edmundo

287

나는 이것이 오래된 질문이라는 것을 알고 있지만 이미지 캡션을 추가하는 방법을 여전히 공유한다고 생각했습니다. captionor figcaption태그 를 사용할 수는 없지만 플러그인을 사용하지 않고 간단한 대안이 될 수 있습니다.

마크 다운에서 강조 태그로 캡션을 감싸서 다음과 같이 새 줄을 삽입하지 않고 이미지 바로 아래에 배치 할 수 있습니다.

![](path_to_image)
*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. 태그가 있는지 확인하십시오. 그렇지 않으면 스타일을 지정할 수 없습니다.


3
대박! 바보 같은 지킬 구문을 외울 필요가 없습니다 :)
Corstian Boerman

2
나는 이것의 큰 팬이다
Alex Williams

감사합니다! 그것을 찾고
있었어요

1
안녕! CSS 부분을 어디에 어떻게 배치 해야할지 잘 모르겠습니다. 누군가 도울 수 있다면 정말 좋을 것입니다.
ChriiSchee

2
@ChriiSchee 기본 CSS 파일에 배치하거나 직접 생성하여 기본 레이아웃에 연결할 수 있습니다. 예를 들어, 기본 레이아웃은 main.css 파일에 연결 <link href="{{ site.baseurl }}/assets/css/main.css" rel="stylesheet">// My custom css img + em { display: block; text-align: center; } //image captions
되므로이

94

이를 위해 테이블을 사용할 수 있습니다. 잘 작동합니다.

| ![space-1.jpg](http://www.storywarren.com/wp-content/uploads/2016/09/space-1.jpg) | 
|:--:| 
| *Space* |

결과:

여기에 이미지 설명을 입력하십시오


8
이 답변이 가장 좋습니다. 순수한 마크 다운을 사용하고 필요한 것을 얻습니다. 감사!
Kadam Parikh

주제의 일종이지만 Jupyter Notebooks에서도 작동합니다.
paulochf

그것은 너비를 100 %에서 줄였습니다. 넓히는 방법
Abhay Hegde

50

캡션이 <figure>있는<figcaption> 이미지에 사용하는 올바른 HTML은 입니다 .

이에 상응하는 마크 다운은 없으므로 가끔 캡션 만 추가하는 경우 해당 HTML을 마크 다운 문서에 추가하는 것이 좋습니다.

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을 포함하도록 권장 하므로 잘 표시됩니다. 또한 플러그인을 사용하는 것보다 훨씬 간단합니다.

캡션을 생성하기 위해 다른 Markdown-y 기능 (예 : 표, 별표 등)을 사용하려는 경우 Markdown의 사용 방식을 해킹하는 것입니다.


5
이 답변에 별다른주의를 기울이지 않은 것이 너무 나쁩니다. 저는 이것이 가장 단순하고 의미 적으로 정확하다고 생각합니다. 나는 특히 1990 년대의 혼란스런 테이블을 사용하여 형식을 제안하는 모든 대답에 대해 고민하고 있습니다. ;-)
sudo make 설치 :

나는 동의한다. 그러나 아직 Bitbucket에서 지원하지 않는 것 같습니다. 까다로운.
Boriel

나는 @Andrew가 제공하는 영리하고 간단한 대답을 좋아하지만 명시 적이며 적절한 HTML 태그를 사용하며 너무 많은 타이핑이 필요하지 않은 것으로 생각해야합니다.
Seanba

1
고마워, 나는 jekyll을 처음 사용하고 markdown을 html과 함께 사용할 수 있다는 것을 몰랐다.
삼보 김

6

내가 좀 더 명백한 것으로 밝혀진 최상위 투표 답변 의 약간의 리프 는 jekyll 구문을 사용하여 클래스를 무언가에 추가 한 다음 스타일을 지정하는 것입니다.

따라서 게시물에는 다음이 있습니다.

![My image](/images/my-image.png)

{:.image-caption}
*The caption for my image*

그런 다음 CSS 파일에서 다음과 같이 할 수 있습니다.

.image-caption {
  text-align: center;
  font-size: .8rem;
  color: light-grey;

좋아 보인다!


4

이 질문에 대한 의미 론적으로 올바른 두 가지 해결책이 있습니다.

  1. 플러그인 사용
  2. 맞춤 포함 만들기

1. 플러그인 사용

나는 이것을하는 두 개의 플러그인을 시도했으며 가장 좋아하는 것은jekyll-figure 입니다.

1.1. 설치jekyll-figure

설치하는 한 가지 방법 jekyll-figuregem "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" %}
    ![Le logo de Jekyll](/assets/images/2018-08-07-jekyll-logo.png)
{% endfigure %}

1.3. 그것을 스타일

이제 이미지와 캡션이 의미 적으로 정확하므로 원하는대로 CSS를 적용 할 수 있습니다.

  • figure (이미지와 캡션 모두)
  • figure img (이미지 만 해당)
  • figcaption (자막 만 해당)

2. 사용자 정의 포함 만들기

당신은해야합니다 만들 image.html당신의 파일 _includes폴더를 , 그리고 마크 다운에 액체를 사용하여 포함한다 .

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. 마크 다운에서 액체를 사용하여 이미지를 포함

/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 (자막 만 해당)

1
완전성을 위해 jekyll-figure를 사용하려면 _config.yml의 플러그인에 jekyll-figure를 추가해야합니다.
Aleix Sanchis

3

pandoc변환기 로 사용하려고 할 수 있습니다 . 이것을 구현 하는 jekyll 플러그인 이 있습니다. Pandoc은 alt속성 과 동일한 그림 캡션을 자동으로 추가 할 수 있습니다 .

그러나 github은 보안을 위해 Github 페이지에서 플러그인을 허용하지 않기 때문에 컴파일 된 사이트를 푸시해야합니다.


감사. 마크 다운만으로는 자막을 만들 수 없습니까?
orschiro

사용하는 변환기에 따라 다르지만 마크 다운 표준은 캡션 추가를 지원하지 않습니다.
Chongxu Ren

3

Andrew의 @ andrew-wei 답변이 훌륭합니다. 수행하려는 작업에 따라 몇 개를 함께 연결할 수도 있습니다. 예를 들어, 자막의 다른 부분에 줄 바꿈과 굵은 체 및 기울임 꼴이있는 대체, 제목 및 캡션이있는 이미지를 얻을 수 있습니다.

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>마크 다운으로

![description](https://img.jpg "description")
***Image:*** *description*

1
<p align="center">
  <img alt="img-name" src="/path/image-name.png" width="300">
  <br>
    <em>caption</em>
</p>

이것이 기본 자막 사용입니다. 추가 플러그인을 사용할 필요는 없습니다.


0

가장 간단한 방법은 아니지만 가장 간단한 방법은 다음과 같습니다. 크기 조정 문제가 분명히 있기 때문에 이미지 크기를 쉽게 수정할 수 있도록 HTML로 예제를 제공하는 것입니다. 이것은 나를 위해 일했습니다.

| <img src="" alt="" style="width: 400px;"/> |
| My Caption |
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.