기술 블로그 만들기 with GitHub, Jekyll
07 May 2020앞으로의 글을 포스팅하기 위해서 블로그를 만들기로 했다. 한국에서 기술 블로그는 GitHub를 이용해 만드는 방법과 티스토리를 이용한 방법이 있다. 나의 포스팅은 어디에 보여주기보다 자기만족을 위해 시작했기 때문에 GitHub를 선택하게 되었다.
준비물
GitHub
GitHub에 GitHub Pages라는 호스팅을 이용할 예정이다. (git에 관련한 내용은 나중에 한 번 다루도록 하겠다.)
Jekyll
마크다운으로 쓴 포스팅을 손쉽게 블로그로 만들어 주는 정적 사이트 생성기다. GitHub의 창립자가 만든 만큼 GitHub에 잘 작동한다. ruby 언어로 되어있지만 프론트엔드를 조금만 공부하면 손쉽게 커스텀화 할 수 있다.
Jekyll Theme
Jekyll의 좋은 점은 많은 테마를 공짜로 받을 수 있다는 것이다. 물론 맘에 드는 것을 찾는 것은 힘들다. 여튼 Jekyll Theme를 찾을 수 있는 몇 가지 사이트를 소개한다.
사실 3개의 차이는 잘 모르겠다. 그냥 들어가서 맘에 드는 것을 고르도록 하자. 나는 side bar와 페이지가 가운데있어야 한다는 기준점으로 골랐다. 또한 파일 구조가 단순하고 수정하기가 쉬워야 했다. 조건을 충족하는 페이지가 적었고 마침내 Lanyon을 고르게 되었다.
시작하기
Jekyll 설치하기
우선 루비가 설치되어 있는지 확인을 한다.
$ ruby -v
ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-darwin19]
ruby의 패키지 관리자인 gem을 이용해 Jekyll을 설치해 준다.
$ gem install jekyll
Jekyll Theme
블로그를 시작해줄 상위 디렉터리에서 git clone으로 Lanyon의 파일을 받아 온다.
git clone https://github.com/poole/lanyon.git
만들어진 디렉터리로 들어가서 우선 서버가 잘 작동하는지 확인한다. 서버를 작동시키는 명령어는 다음과 같다.
$ jekyll server
서버가 정상적으로 작동이 되면 아마도 http://127.0.0.1:4000/에 접속이 가능할 것이다. 만약 오류가 생기고 작동이 안 된다면 당황하지 말고 구글에 검색해 보면 된다. 이렇게 오류가 해결되었다면 블로그를 내 것으로 만들어 보자. _config.yml파일을 열고 기본 정보를 변경해 주면 테마를 적용한 블로그가 완성된다. “이 블로그는 이제 제 겁니다. 제 마음대로 만들 수 있는 겁니다.”
블로그를 내 것으로 만들었다면 GitHub에 업로드 할 준비를 하자. 기존에 있는 Git정보를 지우기 위해 .git을 명령어로 지워주도록 하자.
rm -r .git
새로운 깃을 사용하기 위해 .git파일을 만들어 준다.
$ git init
GitHub Page를 위한 Repository생성하기
GitHub Page를 만들기 위해서는 특별한 조건의 Repository가 필요하다. {username}.github.io의 이름으로 Repository를 만들어 주자.
만들어진 Repository의 url를 복사를 한 뒤에 블로그 작업을 해줄 디렉터리와 Repository가 연결해 주고 업로드까지 해보자.
$ git remote add origin {해당 Repository 주소}
$ git add .
$ git commit -m "test"
$ git push
이제 다시 GitHub의 해당 블로그 Repository에 들어간다. Settings에 들어간 후, 밑으로 내리다 보면 GitHub Pages라는 항목이 나온다. 여기서 master branch로 변경을 해주면 블로그 만들기 완성이다.
오류 리포트
permissions Error
$ gem install bundler jekyll
Fetching bundler-2.1.4.gem
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.6.0 directory.
맥이 새로운 보안체계를 바꾸면서 시스템 폴더에 Lock이 걸려 설치가 안 되는 문제가 발생한다. Ruby가 있는 폴더가 이런 경이다. 따라서 Lock이 없는 곳에서 Ruby를 다뤄주면 된다. Homebrew에 사용법이 간단하고 많이 사용하는 rbenv을 설치하겠다.
$ brew install rbenv
# Load rbenv automatically by appending
# the following to ~/.zshrc:
eval "$(rbenv init -)"
rbenv init의 결과로 나온 것을 보고 ~/.zshrc에 vi를 이용해 eval "$(rbenv init -)"
을 넣어주고, 수정된 zshrc을 적용하기 위해 다음 명령어를 입력한다.
$ source ~/.zshrc
다음으로 최신버전 ruby를 다운받아준다. (2020.05.07 기준, 루비 최신 버전은 링크에서 확인할 수 있다.)
$ rbenv install 2.7.0