0.x 에서 2.x 로 업그레이드
Jekyll 을 업그레이드 하려고요? 먼저, 1.0 와 2.0 에서 바뀐 점을 몇 가지 알아두어야 합니다.
변경내용을 살펴보기 전에, 먼저 Jekyll 을 최신 버전으로 업그레이드 하세요:
gem update jekyll
뛰어들기
당장 Jekyll 사이트를 만들어보고 싶다고요? 그냥
jekyll new 사이트이름
을 실행하기만 하면 Jekyll 사이트의 골격이
담긴 새 디렉토리가 만들어집니다.
Jekyll 명령어
모호함을 피하기 위해, Jekyll 은 이제 build
와 serve
명령을 제공합니다.
이전까지는 단순히 jekyll
명령어를 실행해서 사이트를 생성하고 jekyll --server
로 미리보기를 했었지만, v2.0 (과 그 이후 버전) 에서는 사이트를 생성하고 미리보기
하기 위해 각각 jekyll build
와 jekyll serve
라는 세부 명령을 사용해야
합니다.
미리보기와 감시
새로운 세부 명령어로 인하여, 사이트를 미리보기하는 방식이
약간 변경되었습니다. 사이트의 환경설정 파일에 server: true
를 추가하는
대신, jekyll serve
를 사용하세요. watch: true
설정도 마찬가지입니다.
이제부터는 jekyll serve
나 jekyll build
명령에 --watch
플래그를
사용하세요.
절대적 고유주소
Jekyll v1.0 에서, 하위 디렉토리의 페이지에 대한 절대적 고유주소 기능을 소개했었습니다. v2.0 부터, 절대적 고유주소 기능은 옵트-아웃되었으며, 이는 Jekyll 이 상대적 고유주소 대신 절대적 고유주소를 디폴트로 사용한다는 뜻입니다. 상대적 고유주소에 대한 하위-호환성은 v3.0 에서 제거되었습니다.
v3.0 이후부터는 절대적 고유주소를 사용합니다
Jekyll v3.0 부터, 상대적 고유주소 기능은 제거될 것이므로 더 이상 사용할 수 없습니다.
초안
이제 Jekyll 에서 초안 작성이 가능하며, 게시했을 때의 모습을 쉽게 미리보기 할 수
있습니다. 초안을 사용하려면, Site Source 디렉토리 (예, _posts
와 같은 위치) 에
_drafts
라는 이름의 디렉토리를 만들고, 새 마크다운 파일을 넣으면 됩니다. 이 새
포스트를 미리보기 하려면 jekyll serve
명령을 --drafts
플래그와 함께
실행하세요.
초안에는 날짜가 없습니다
포스트와는 다르게, 초안은 아직 게시하지 않는 글이기 때문에, 날짜를 갖고 있지
않습니다. 초안 파일의 이름을 지을 때는 2013-07-01-my-draft-post.md
가
아니라, my-draft-post.md
처럼, 실제 포스트의 제목만을 사용해서 만들어야
합니다.
사용자 환경설정 파일
명령행에서 여러 플래그들을 각각 지정하는 대신, 자신만의 Jekyll 환경설정 파일을
별도로 만들어 사용할 수 있습니다. 환경별로 다른 설정을 분리하여 사용하거나
프로그램 상에서 디폴트값을 덮어쓰는데 유용합니다. jekyll
명령에 --config
플래그를 추가하고, 그 뒤에 하나 또는 그 이상의 환경설정 파일 경로를 지정하기만
하면 됩니다 (쉼표로 구분, 공백 없음).
그 결과로, 다음 플래그들은 더 이상 사용하지 않는 것을 권장합니다:
--no-server
--no-auto
(이제부터는--no-watch
)--auto
(이제부터는--watch
)--server
--url=
--maruku
와--rdiscount
,--redcarpet
--pygments
--permalink=
--paginate
config 플래그는 환경설정 파일(들)을 명시적으로 지정합니다
--config
플래그를 사용하면, _config.yml
파일이 자동으로
읽히지 않습니다. 별도로 만든 환경설정 파일과 기본 환경설정 파일을 함께
사용하고 싶다고요? 가능합니다. 하나 이상의 환경설정 파일을 Jekyll 에 전달할
수 있습니다. 환경설정 파일은 오른쪽에서 왼쪽으로 단계적으로 적용되는데, 만약
jekyll serve --config _config.yml,_config-dev.yml
이라고 실행하고 두
파일에 동일한 키가 들어있을 경우, 오른쪽 환경설정 파일 (_config-dev.yml
)
의 값이 왼쪽의 설정파일 (_config.yml
) 값을 덮어쓰게 됩니다.
새로운 환경설정 파일 옵션
Jekyll 1.0 에서 몇 가지 새 환경설정 파일 옵션을 소개했었습니다. 업그레이드 하기 전에, 1.0 이전 버전의 환경설정 파일에 아래 옵션들을 사용하고 있는지 확인해야 합니다. 만약 사용중이라면, 사용법이 올바른지 확인하세요:
excerpt_separator
host
include
keep_files
layouts
show_drafts
timezone
url
Baseurl
종종 여러가지 환경에서 Jekyll 을 사용해야 할 경우가 있습니다. 예를 들면, GitHub
Pages 에 push 하기 전에 로컬에서 미리보기 하는 경우입니다. 이것을 손쉽게 돕기
위하여 Jekyll 1.0 에서 --baseurl
플래그가 추가되었습니다. 이 기능을
활용하려면, 일단 _config.yml
파일에 운영환경의 baseurl
을 추가합니다. 그
다음, 사이트에 사용된 모든 상대경로 앞에
{{ site.baseurl }}
을 추가합니다. 이제 미리보기를 할
때에는 jekyll serve
명령을 실행하면서 --baseurl
플래그와 함께 로컬의
baseurl
(대부분의 경우 /
) 을 입력합니다. Jekyll 은 입력된 값을 baseurl 로
사용할 것입니다. 이렇게 하면 모든 링크가 양쪽 환경 모두에서 원하는대로 작동할
것입니다.
페이지와 포스트 URL 은 모두 슬래시로 시작합니다
위에 설명된 방법을 사용할 경우, 모든 포스트와 페이지의 URL
앞에는 슬래시가 붙어있다는 것을 기억하시기 바랍니다. 따라서,
site.baseurl = /
이고 post.url = /2013/06/05/my-fun-post/
인 경우를 예로
들어보면, 사이트의 baseurl
과 포스트/페이지 URL 이 합쳐지면 앞에 두 개의
슬래시가 연달아 나오게 되며, 이는 올바르게 링크되지 않습니다. 따라서 URL 앞에
site.baseurl
을 추가하는 것은 baseurl
이 /
가 아닐 경우에만 사용하기
바랍니다.