변수

Jekyll 은 작업이 필요한 파일을 찾아 사이트 내부를 이리저리 돌아다닙니다. 작업 대상은 YAML 머리말을 가진 모든 파일입니다. Jekyll 은 Liquid 템플릿 시스템을 통해 각각의 작업 대상 파일마다 다양한 데이터를 생성합니다. 사용할 수 있는 데이터 목록은 다음과 같습니다.

전역 변수

변수 설명

site

사이트 정보 + _config.yml 의 환경설정 정보. 더 자세한 내용은 아래를 참조하시오.

page

해당 페이지 고유 정보 + YAML 머리말. YAML 머리말에 설정한 사용자 변수도 여기에 포함된다. 더 자세한 내용은 아래를 참조하시오.

content

레이아웃에 포함된 포스트 또는 페이지 컨텐츠. 포스트나 페이지 파일에는 정의되어 있지 않다.

paginator

이 변수는 환경설정 옵션 paginate 가 설정되어 있을 때 사용할 수 있다. 더 자세한 내용에 대해서는 페이지 나누기를 참조하시오.

사이트 변수

변수 설명

site.time

현재 시간 (jekyll 명령을 실행한 시간).

site.pages

모든 페이지 목록.

site.posts

시간 역순의 모든 포스트 목록.

site.related_posts

처리중인 파일이 포스트인 경우에, 최대 10 개의 연관 포스트 목록이 이 변수에 할당된다. 디폴트로 가장 최신 포스트 10 개를 가리킨다. 느린 속도를 감수하고 고품질의 결과를 얻으려면, jekyll명령을 --lsi (잠재적 시맨틱 색인) 옵션과 함께 실행하시오. 단, Github pages 가 사이트를 생성할 때는 lsi 옵션을 지원하지 않는다.

site.static_files

정적 파일 (다시 말해, Jekyll 의 변환기나 Liquid 렌더러가 처리하지 않는 파일들) 전체 목록. 모든 파일은 세 가지 속성을 갖고 있다: pathmodified_time, extname.

site.html_pages

`.html` 로 끝나는 `site.pages` 목록의 하위 세트.

site.html_files

`.html` 로 끝나는 `site.static_files` 목록의 하위 세트.

site.collections

모든 콜렉션 목록.

site.data

_data 디렉토리 안의 YAML 파일에서 읽어들인 데이터 목록.

site.documents

각 콜렉션의 모든 문서 목록.

site.categories.CATEGORY

CATEGORY 카테고리에 속한 모든 포스트 목록.

site.tags.TAG

TAG 태그가 붙은 모든 포스트 목록.

site.[CONFIGURATION_DATA]

명령행이나 _config.yml 을 통해 설정된 모든 변수들은 site 변수를 통해 사용할 수 있다. 예를 들어, 환경설정 파일에 url: http://mysite.com 이 있다면, 포스트나 페이지의 site.url 에 그 값이 담겨있다. watch 모드에 켜진 경우에도 _config.yml 파일의 변경사항은 자동으로 적용되지 않기 때문에, 변경된 변수를 적용하려면 Jekyll 을 재시작해야 한다.

페이지 변수

변수 설명

page.content

페이지의 컨텐츠. 어떤 Liquid 처리가 되었는지, 어떤 page 인지에 따라 렌더링 되었을 수도 아닐 수도 있다.

page.title

페이지의 제목.

page.excerpt

렌더링 되지 않은 페이지 발췌 부분.

page.url

도메인을 제외하고, 슬래시 문자로 시작하는 포스트 URL. 예시, /2008/12/14/my-post.html

page.date

포스트에 할당된 날짜. 포스트의 머리말에 YYYY-MM-DD HH:MM:SS (UTC 기준), 또는 YYYY-MM-DD HH:MM:SS +/-TTTT (UTC 오프셋을 사용한 타임 존 지정. 예시, 2008-12-14 10:30:00 +0900) 형식으로 새로운 날짜/시간을 지정하여 덮어쓸 수 있다.

page.id

포스트에 대한 유일한 식별자 (RSS 피드에 유용함). 예시, /2008/12/14/my-post

page.categories

이 포스트가 속한 카테고리들의 목록. _posts 디렉토리의 상위 디렉토리 구조가 카테고리를 결정한다. 예를 들어, 경로가 /work/code/_posts/2008-12-24-closures.md 인 포스트에서는 이 변수가 ['work', 'code'] 로 설정되어 있다. 이 변수는 YAML 머리말에서도 설정할 수 있다.

page.tags

포스트에 붙어있는 태그 목록. 이 변수는 YAML 머리말에 설정할 수 있다.

page.path

페이지 또는 포스트의 실제 경로. 활용 예시: 페이지 또는 포스트에 대한 GitHub 소스를 링크하기. 이 변수는 YAML 머리말에서 덮어쓸 수 있다.

page.next

site.posts 의 포스트 중에서 현재 포스트 위치를 기준으로 한 다음 포스트의 상대 경로. 마지막 항목이라면 nil 을 반환한다.

page.previous

site.posts 의 포스트 중에서 현재 포스트 위치를 기준으로 한 이전 포스트의 상대 경로. 첫 번째 항목이라면 nil 을 반환한다.

ProTip™: 사용자 머리말을 사용하세요

모든 사용자 머리말은 page 로 사용할 수 있습니다. 예를 들어, 페이지 머리말에 custom_css: true 를 설정한 경우, page.custom_css 로 해당 값을 사용할 수 있습니다.

Paginator

변수 설명

paginator.per_page

페이지 당 포스트 수.

paginator.posts

해당 페이지의 포스트들.

paginator.total_posts

전체 포스트 개수.

paginator.total_pages

전체 페이지 개수.

paginator.page

현재 페이지 번호.

paginator.previous_page

이전 페이지 번호.

paginator.previous_page_path

이전 페이지 경로.

paginator.next_page

다음 페이지 번호.

paginator.next_page_path

다음 페이지 경로.

Paginator 변수 사용 위치

이 변수들은 오직 인덱스 파일에서만 사용할 수 있지만, /blog/index.html 같은 하위 디렉토리 인덱스 파일도 해당됩니다.