Github 블로그 - Jekyll 구조
Jekyll 폴더의 구조와 기능
Github 블로그 - Jekyll 구조
jekyll을 사용해서 Github 블로그를 만들었다면, 이제는 내부를 정리하고 글을 작성해야한다. 이를 위해서 블로그 프로젝트 폴더의 구조와 그 기능을 간단하게 정리하고자 한다.
Jekyll 기본 구조
공식 사이트의 폴더구조를 살펴보면 자세한 내용을 알 수 있다.
.
├── _config.yml
├── _data
│ └── members.yml
├── _drafts
│ ├── begin-with-the-crazy-ideas.md
│ └── on-simplicity-in-technology.md
├── _includes
│ ├── footer.html
│ └── header.html
├── _layouts
│ ├── default.html
│ └── post.html
├── _posts
│ ├── 2007-10-29-why-every-programmer-should-play-nethack.md
│ └── 2009-04-26-barcamp-boston-4-roundup.md
├── _sass
│ ├── _base.scss
│ └── _layout.scss
├── _site
├── .jekyll-cache
│ └── Jekyll
│ └── Cache
│ └── [...]
├── .jekyll-metadata
└── index.html # can also be an 'index.md' with valid front matter
_config.yml
환경설정 정보를 보관하는 파일이다. author, email, url 같은 정보나 대부분의 설정을 여기서 관리한다. 다른 문서들은 서버를 작동시킨 상태에서 변경하면 실시간으로 변동사항을 확인할 수 있지만, 해당 파일은 서버를 재시작 해야만 변경사항이 반영된다.
- jekyll build → 사이트를 빌드하고 _site라는 디렉토리에 정적 사이트를 생성.
- jekyll serve → build의 동작을 포함하며, 추가로 내용이 변경되면 사이트를 다시 빌드하고, http://localhost:4000 에 웹서버를 구동.
index.html
로컬호스트에 접속했을 때 가장 먼저 보이는 페이지이다.
_drafts
아직 블로그에 게시하지 않은 초안 상태의 글을 저장하는 디렉토리이다. 글을 저장하더라도 블로그에서 확인할 수 없다. 해당 폴더의 문서들까지 블로그에서 확인하려면, jekyll serve, jekyll build 명령어에 –drafts 옵션을 추가하면 된다.
_includes
자주 사용하는 파일들을 담는 디렉토리이다. 블로그의 상단, 하단처럼 고정으로 등장하는 부분이나 사이드바, 특수 기능같이 자주 등장하는 부분을 저장하는데 사용된다.
_layouts
예시
---
layout: framework
banner:
banner_html: post-header.html
hidden: []
sidebar:
- article-menu
---
글을 포장하는 템플릿들을 저장하는 디렉토리이다. post에서 글을 작성할 때 상단의 머릿말에서 layout을 선택하는데, 해당 레이아웃에 걸맞는 형식으로 블로그에서 글이 보여진다.
_posts
본인이 작성한 문서들을 저장하는 디렉토리이다. 이곳의 문서들이 블로그에 보여진다. 문서의 이름은 반드시 “0000-00-00-제목”의 형식을 따른다. 앞에서부터 4자리 년도, 월, 일 순서이다.
_data
여러 데이터들을 site.data로 읽어들이는데 필요한 디렉토리이다. 읽어들이는 형식으로는 yml, json, csv, tsv 등이 있다. 예를 들어 abc.yml
파일은 site.data.abc
으로 사용할 수 있다.
_sass
main.scss에 임포트 할 수 있는 sass 조각들의 디렉토리이다.
_site
jekyll이 build 된 후, 생성된 사이트가 저장되는 디렉토리이다.