003. JeKyll 기본 사용법

기본 사용법

본 카테고리는 정적 블로그 생성도구인 Jekyll에 관하여 작성하는 곳이다.

공식 사이트의 내용을 좀 더 풀어쓰고 스크린샷을 첨부하여 좀 더 상세히 기록하고자 한다.

참고 Jekyll 공식 사이트

Jekyll 설치 확인

이전 포스팅에서 RubyGems를 이용해 Jekyll을 설치하였다면 터미널에서 jekyll 커맨드를 사용할 수 있다.

터미널에서 아래와 같은 커맨드를 입력해보자.

1
jekyll -v

Screen Shot 2017-02-08 at 16.12.01

입력 후 위와 같은 화면이 출력되어야 jekyll이 정상적으로 설치된 것이다.

만약 제대로 출력이 되지않는다면 다시 설치를 해보자.

참고 Jekyll 설치하기

jekyll 기본 명령어 사용

jekyll 커맨드를 사용하여 실행할 수 있는 커맨드를 기본적으로 아래와 같다.

1
jekyll build

현재 폴더의 내용으로 ./_site 경로에 jekyll을 이용해 정적 사이트를 생성한다.

Screen Shot 2017-02-08 at 16.15.21

1
jekyll build --destination <destination>

현재 폴더의 내용으로 ./destination 경로에 jekyll을 이용해 정적 사이트를 생성한다.

기본적으로 생성하는 `_site 폴더가 아닌 에 지정한 경로에 사이트를 생성해준다.

즉, destination 위치에 생성하고자 하는 폴더명을 입력하면 된다.

Screen Shot 2017-02-08 at 16.20.05

1
$ jekyll build --source <source> --destination <destination>

source 폴더의 내용으로 destination 경로에 jekyll을 이용해 정적 사이트를 생성한다.

source에 jekyll로 작성된 내용과 destination 위치에 생성하고자 하는 폴더명을 입력하면 된다.

Screen Shot 2017-02-08 at 16.30.16

1
jekyll build --watch

현재 폴더의 내용으로 ./_site 경로에 jekyll을 이용해 정적 사이트를 생성한다.

추가적으로 변경사항이 있을 때마다 자동으로 대신 생성해준다.

Screen Shot 2017-02-08 at 16.33.22

주의 –watch 옵션을 통해 자동생성을 반복할시 jekyll의 환경설정 파일인 _config.yml의 변경사항은 반영되지 않는다.

이번엔 build대신 serve를 사용해보자.

1
jekyll serve

serve를 사용하면 Jekyll이 자체적으로 가진 서버를 이용해 로컬 상에서 브라우저로 테스트할 수 있다.

Screen Shot 2017-02-08 at 16.50.39

jekyll serve를 사용하면 빌드 과정 이후에 http://localhost:4000/ 경로를 이용해

브라우저에서 Jekyll로 생성된 정적 사이트를 볼 수 있다.

Screen Shot 2017-02-08 at 16.53.08

위의 터미널 캡쳐를 보면 jekyll serve는 기본적으로 변경사항을 추적하며 재생성하고 있다.

즉 아래 두 명령어는 동일한 동작을 한다.

1
2
jekyll serve
jekyll serve --watch

만약 변경사항을 반영하고 싶지 않으면 아래와 같이 실행하면된다.

1
jekyll serve --no-watch

로컬 서버로 사이트를 확인하다가 터미널을 종료 후 다시 jekyll serve를 실행하면 아래와 같은 오류를 출력하며 작동을 하지 않는다.

Screen Shot 2017-02-08 at 16.57.10

제일 처음 실행한 jekyll serve가 아직도 4000번 포트를 점유하고 있기 때문이다.

다시 jekyll serve를 실행하기 위해선 기존에 4000번 포트를 점유하고 있는 프로세스를 종료해야 한다.

1
ps aux | grep jekyll

위의 커맨드를 터미널에서 실행해보자.

Screen Shot 2017-02-08 at 16.58.58

위와 같은 화면이 출력되게 되는데, 맨 끝의 jekyll serve를 통해

2번째 라인에 나오는 73556이라는 숫자가 현재 jekyll이 점유하고 있는 프로세스 아이디임을 유추할 수 있다.

1
kill -9 <PID>

위의 명령어를 실행하여 해당 프로세스를 종료시키자.

Screen Shot 2017-02-08 at 17.05.19

해당 프로세스를 종료한 후 jekyll serve를 다시 실행하면 정상 작동하는 것을 확인할 수 있다.