포스트

Jekyll 에는 블로그 기능이 완전히 반영되어 있습니다. 당신은 텍스트 파일로 블로그 포스트를 작성하고 Jekyll 은 그것을 블로그로 변환하는데 필요한 모든것을 제공합니다.

포스트 폴더

당신의 블로그 포스트가 사는 곳은 _posts 폴더입니다. 포스트는 일반적으로 마크다운으로 작성하며, HTML 또한 지원합니다.

포스트 생성하기

포스트를 생성하려면, _posts 디렉토리에 파일을 추가하고 다음과 같은 형식으로 내용을 작성합니다:

YEAR-MONTH-DAY-title.MARKUP

여기서 YEAR 는 네 자리의 숫자, MONTHDAY 는 두 자리 숫자이고, 확장자 부분의 MARKUP 은 파일에 사용된 마크다운 포맷입니다. 올바른 포스트 파일명을 예로 들면 다음과 같습니다:

2011-12-31-new-years-eve-is-awesome.md
2012-09-12-how-to-write-a-blog.md

모든 블로그 포스트 파일은 머리말로 시작되어야 하며, 이것은 일반적으로 레이아웃 이나 다른 메타 데이터를 설정하는데 사용됩니다. 아무 내용이 없는 것도 가능합니다:

---
layout: post
title:  "Welcome to Jekyll!"
---

# Welcome

**Hello world**, this is my first Jekyll blog post.

I hope you like it!
ProTip™: 다른 포스트로 링크하기

post_url 태그를 사용하면 사이트 고유주소 스타일이 바뀌는 경우에도 URL 이 잘못될 걱정을 할 필요가 없습니다.

캐릭터 세트에 주의하세요

컨텐츠 처리기는 특정 문자들을 변경할 수 있어서 결과물을 더 좋게 보이게 합니다. 예를 들어, Redcarpet 변환 기본방식의 smart 확장기능은 ASCII 인용 부호를 유니코드 문자로 바꿉니다. 따라서, 이러한 문자들이 브라우저에 올바르게 표시되게 하려면, 레이아웃 파일의 <head><meta charset="utf-8"> 라고 입력하여 캐릭터 세트 메타 정보를 정의해야 합니다.

이미지와 자원 삽입하기

때때로 글 중간에 이미지, 다운로드 또는 그 밖에 다른 종류의 자원을 삽입해야할 때가 있습니다. 가장 일반적인 방법 중 하나는 프로젝트의 루트 디렉토리에 assets 같은 이름의 디렉토리를 만들고, 이미지와 파일, 그 밖의 다른 자원들을 보관하는 것입니다. 그 다음, 어느 포스트에서든지 링크하는 자원의 경로에 사이트 루트 경로를 포함시키면 됩니다. 이를 위한 최선의 방법은 사이트의 (서브)도메인과 경로 설정에 따라 다르지만, 여기 몇 가지 단순한 마크다운 예제가 있습니다:

포스트에 이미지를 삽입:

... which is shown in the screenshot below:
![My helpful screenshot](/assets/screenshot.jpg)

PDF 다운로드 링크를 삽입:

... you can [get the PDF](/assets/mydoc.pdf) directly.

포스트 목록 표시하기

별도의 페이지에 포스트 목록을 생성하는 것은 Liquid 와 이에 포함된 태그 기능을 사용하면 쉽습니다. 여기, 포스트 링크 목록을 생성하는 간단한 예시가 있습니다:

<ul>
  {% for post in site.posts %}
    <li>
      <a href="{{ post.url }}">{{ post.title }}</a>
    </li>
  {% endfor %}
</ul>

포스트를 어떻게 (그리고 어디에) 표시할 것인지, 사이트를 어떻게 구성할 것인지, 전부 다 제어할 수 있습니다. 더 자세한 내용을 알고 싶다면, Jekyll 에서 템플릿이 작동하는 방법을 읽어보세요.

위 예제에서 post 변수는 오직 for 루프 안에서만 존재한다는 것에 주의하세요. 만약 현재 렌더링중인 페이지/포스트의 변수 (for 루프를 포함하고 있는 포스트/페이지의 변수) 에 접근하고자 한다면, post 대신 page 변수를 사용하세요.

카테고리와 태그

Jekyll 은 블로그 포스트의 카테고리와 태그에 대한 최고 수준의 지원을 제공합니다. 카테고리와 태그의 차이점은 카테고리는 포스트의 URL 에 포함될 수 있으며 태그는 안된다는 점입니다.

이 기능을 사용하려면, 머리말에 카테고리와 태그를 설정합니다:

---
layout: post
title: A Trip
categories: [blog, travel]
tags: [hot, summer]
---

Jekyll 은 site.categories 로 카테고리를 사용할 수 있게 해줍니다. 페이지에서 site.categories 에 반복문을 적용하면 두 항목으로 구성된 또 다른 배열을 사용할 수 있는데, 첫 번째 항목은 카테고리의 이름이고 두 번째 항목은 해당 카테고리의 포스트 배열입니다.

{% for category in site.categories %}
  <h3>{{ category[0] }}</h3>
  <ul>
    {% for post in category[1] %}
      <li><a href="{{ post.url }}">{{ post.title }}</a></li>
    {% endfor %}
  </ul>
{% endfor %}

태그는 변수가 site.tags 라는 것만 제외하면 완벽히 동일합니다.

포스트 발췌

---
excerpt_separator: <!--more-->
---

Excerpt with multiple paragraphs

Here's another paragraph in the excerpt.
<!--more-->
Out-of-excerpt

다음은 발췌와 함께 블로그 포스트 목록을 출력하는 예시입니다:

<ul>
  {% for post in site.posts %}
    <li>
      <a href="{{ post.url }}">{{ post.title }}</a>
      {{ post.excerpt }}
    </li>
  {% endfor %}
</ul>

Drafts

초안이란 파일명에 날짜가 없는 포스트입니다. 현재 작성중이기 때문에 아직은 온라인에 게시하고 싶지 않은 포스트를 의미합니다. 초안 기능을 사용하려면, 사이트의 루트 디렉토리에 _drafts 폴더를 만들고 초안을 생성하면 됩니다:

.
├── _drafts
│   └── a-draft-post.md
...

초안을 포함해서 사이트를 미리보기 하려면, jekyll servejekyll build 명령에 --drafts 스위치를 추가해서 실행하세요. 초안의 작성시간에 해당 파일의 수정시간을 할당하기 때문에, 현재 작업중인 초안이 가장 최신 포스트인 것처럼 표시됩니다.