컨텐츠 - (6) 변수(Variables)
본 카테고리는 정적 블로그 생성도구인 Jekyll에 관하여 작성하는 곳이다.
공식 사이트의 내용을 좀 더 풀어쓰고 스크린샷을 첨부하여 좀 더 상세히 기록하고자 한다.
변수(Variables)
Jekyll은 사이트를 탐색하며 처리할 파일을 찾는다.
YAML 머리말을 가진 모든 파일이 처리할 대상이며, Jekyll은 각 파일들에 대해 Liquid 템플릿 시스템을 통해 다양한 데이터를 제공한다.
본 포스팅은 Jekyll에서 사용 가능한 데이터를 참조할 수 있는 변수들을 소개한다.
전역 변수
변수 | 설명 |
---|---|
site | 사이트 전체의 정보와 _config.yml 의 정보 접근 |
page | 페이지 정보와 YAML 머리말, 머리말에 추가된 사용자 정의 변수 접근 |
layout | 레이아웃 정보와 YAML 머리말, 머리말에 추가된 사용자 정의 변수 접근 |
content | 레이아웃 파일의 content 영역에 포스트 혹은 페이지의 컨텐츠가 렌더링되는 변수 |
paginator | 페이지를 처리할 수 있는 변수paginate 속성이 활성화되어야 사용 가능 |
사이트(site) 변수
변수 | 설명 |
---|---|
site.time | 현재 시간(Jekyll 명령을 사용한 시간) |
site.pages | 모든 페이지들의 목록 |
site.posts | 모든 포스트들의 목록(역순) |
site.related_posts | 처리중인 파일이 포스트인 경우 10개의 관련 게시물 목록(최대 10개) 기본값 : 최근 10개의 게시물 처리 속도가 느리지만 고품질의 결과를 원한다면 명령시 --lsi 옵션 포함Github Pages는 lsi 옵션을 지원하지 않음 |
site.static_files | 모든 정적 파일 목록 |
site.html_pages | .html 로 끝나는 site.pages 의 부분 집합 목록 |
site.html_files | .html 로 끝나는 site.static_files 의 부분 집합 목록 |
site.collections | 모든 컬렉션 목록 |
site.data | YAML 파일에서 불러온 _data 폴더에 있는 데이터 목록 |
site.documents | 모든 컬렉션의 문서 목록 |
site.categories.CATEGORY | CATEGORY 값의 카테고리를 가진 모든 포스트 목록 |
site.tags.TAG | TAG 값의 태그 가진 모든 포스트 목록 |
site.[CONFIGURATION_DATA] | 명령 혹은 _config.yml 파일에서 설정된 값에 접근 예) _config.yml 파일에 있는 url 값은 site.url 로 접근 |
주의 –watch 옵션을 통해 자동생성을 반복할시 jekyll의 환경설정 파일인
_config.yml
의 변경사항은 반영되지 않는다.
페이지(page) 변수
변수 | 설명 |
---|---|
page.content | 페이지의 내용 어떤 Liquid가 처리되었느냐 혹은 어떤 페이지냐에 따라 렌더링되었거나 렌더링되지 않은 페이지의 내용 |
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 |
page.id | RSS Feed에 활용할 수 있는 포스트의 고유 식별자 |
page.categories | 포스트가 속한 카테고리 목록_post 폴더의 상위 디렉토리 구조에서 카테고리 설정예) /work/code/_posts/2008-12-24-closures.md 게시물은 ['work', 'code'] 로 설정YAML 머리말에서도 설정 가능 |
page.tags | 포스트가 속한 태그 목록 YAML 머리말에서도 설정 가능 |
page.path | 포스트 혹은 페이지의 실제 경로 YAML 머리말에서 비활성화 가능 |
page.next | site.posts 에서 현재 포스트를 기준으로 한 다음 포스트맨 끝 포스트에선 nil 을 반환 |
page.previous | site.posts 에서 현재 포스트를 기준으로 한 이전 포스트맨 처음 포스트에선 nil 을 반환 |
페이지 처리(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 변수의 유효성
Paginator는index.html
에서 사용할 수 있다.
물론/blog/index.html
같은 하위 디렉토리의index.html
에서도 사용할 수 있다.