개인 Blog 만드는 절차 with Jekyll & GitHub Pages
2018-09-10
선행 조건
- Ruby 설치
- Ubuntu 운영체제 이므로
apt
패키지관리자로 설치한다.sudo apt-get install ruby-full -y
- 다른 설치 방법은 참고
- Ubuntu 운영체제 이므로
- Jekyll, Bundler설치
gem
이라는 Ruby의 패키지 관리자를 사용해서jekyll
과bundler
설치sudo gem install jekyll bundler
Jekyll 테스트
- 블로그 디렉토리 생성
- 아래 명령으로
jekyll
로 블로그 디렉토리를 생성한다.$NAME
은 생성하고자 하는 디렉토리 이름으로 변경한다. 나는 test로 명하였다.jekyll new $NAME
- 상기 명령을 실행한 위치에
test
라는 디렉토리가 생성되었고 그 디렉토리의 구조는 아래와 같다.. |-- 404.html |-- Gemfile |-- Gemfile.lock |-- _config.yml |-- _posts | `-- 2019-05-27-welcome-to-jekyll.markdown |-- about.md `-- index.md
- 아래 명령으로
- 로컬에서 서버 띄우기
- 상기 파일들로 이루어진 블로그를 실행해본다.
Gemfile
이 위치한test
디렉토리에서 아래 명령을 실행한다.bundle exec jekyll serve
- 로그가 출력된다.
Configuration file: /home/cjy/test/_config.yml Source: /home/cjy/test Destination: /home/cjy/test/_site Incremental build: disabled. Enable with --incremental Generating... Jekyll Feed: Generating feed for posts done in 0.734 seconds. Auto-regeneration: enabled for '/home/cjy/test' Server address: http://127.0.0.1:4000/ Server running... press ctrl-c to stop.
- 상기 파일들로 이루어진 블로그를 실행해본다.
- 접속 테스트
- 상기 로그에 나온대로 http://127.0.0.1:4000 에 접속하여 테스트 블로그가 잘 나오는지 확인한다.
- 상기 로그에 나온대로 http://127.0.0.1:4000 에 접속하여 테스트 블로그가 잘 나오는지 확인한다.
GitHub Pages 생성
자신의 서버에서 확인하였으니, 이제 온라인으로 다른 곳에서도 접속하여 확인 할 수 있는 진짜 블로그를 만들어 보겠다. 블로그를 만들기 위한 도구는 GitHub Pages를 이용할 것이다.
- GitHub Pages로 repository 생성
- GitHub Pages 테스트
- 생성한 repository를 clone 받고 진입하여 아래 명령을 차례대로 실행한다.
echo "Hello World" > index.html git add --all git commit -m "Initial commit" git push -u origin master
- master 브랜치에 push가 완료되면
$REPOSITORY_NAME.github.io
로 접속하여 Hello World가 표시되는지 확인한다.
- 생성한 repository를 clone 받고 진입하여 아래 명령을 차례대로 실행한다.
Jekyll과 GitHub Pages 연동
- Hello World는 심플하고 이젠 지겹다. 이전에 로컬에서 띄운 내용으로 대체하겠다.
- clone 한 git디렉토리의 한 단계 위로 이동하여 아래 명령을 실행한다.
jekyll new $REPOSITORY_NAME.github.io -f
-f
flag는--force
의 약자로 해당 디렉토리가 비어 있지 않기 때문에 주는 옵션이다. 만약 생략한다면 아래와 같은 에러가 발생한다.jekyll new cjy-tech.github.io Conflict: /home/cjy/git/cjy-tech.github.io exists and is not empty. Ensure /home/cjy/git/cjy-tech.github.io is empty or else try again with `--force` to proceed and overwrite any files.
- 다시 레포지토리로 들어가 변경 사항들을 확인하고 commit하여 master 브랜치에 push 하자.
- 이후
$REPOSITORY_NAME.github.io
로 접속하면 윗부분의 Jekyll로 띄운 블로그의 내용이 확인된다.
결론
- 원격지에서 접속 할 수 있는 블로그를 호스팅하기 위해 GitHub Pages를 이용한다.
- Jekyll을 이용해 Markdown 문서를 GitHub Pages에서 보여주는 HTML 양식으로 바꿔준다.
더 해보기
- 블로그를 꾸미기 위해서는 다양한 Jekyll테마를 적용 할 수 있다.
- Markdown 컨텐츠를 이용하여 본격적으로 블로그 포스팅을 해 보자.
- 블로그 댓글 및 커스터마이징을 해 보자.