[Hexo] Github Page로 블로그 만들기 02

Jekyll vs hexo

앞 선 포스팅에서 Github Page를 좀 더 편하게 구성해주는 플랫폼에
JekyllHexo라는 아이들이 있는 것을 언급했다.

그러면 이제 둘 중 어느 것을 사용할 것인가를 정해야 하는 단계인데, 간단히 비교를 해보자면.

Jekyll의 장점은

  1. Github Page의 기본 지원체제.
  2. Git 히스토리를 통한 이력관리가 가능.
  3. Hexo 대비 좀 더 많은 테마.

Github Page 라는 시스템의 기반이 애초에 Jekyll로 동작을 하기 때문에
하나의 파일로 구성된 정적페이지 형태로써 호스팅이 제공되는 게 아니라
Repository에 올라온 파일들이 Github에서 Jekyll을 통해 빌드되어 웹 페이지로써 호스팅되는 것이다.

그렇기 때문에 어떻게보면 Github에서 공식지원을 해준다고 볼 수도 있고
Git 히스토리의 경우 파일이 바껴버리면 기존 파일의 삭제, 새 파일의 생성으로 인식해서
히스토리를 제대로 관리할 수 없는데 이 경우엔 정적파일로 아예 교체되는 게 아니라
기존 파일들의 내용만 수정되는 경우이므로 Git 히스토리 관리에도 용이하다.

Jekyll의 단점은

  1. 기반언어가 Ruby다.
    외국이나 일본에서는 Ruby를 사용하는 개발자가 늘고있지만
    여전히 우리나라에선 Ruby는 생소한 언어이고 익숙치 않은 언어다.
    그렇기에 Jekyll을 사용하려는 입장에선 어색해할 수도 있으며
    환경에 따라 다를 수 있겠지만 Ruby는 느리다.

Hexo의 장점은

  1. npm(Node.js)을 이용.
  2. 문서화가 잘 되있다.
  3. 자체 배포가 가능하다.

Hexo는 node.js를 기반으로해서 동작하는 언어다.
그래서 테마들을 열어보면 ejs 파일로 구성된 파일이 많으며 그 덕에 Jekyll보다는 코드들이 익숙하다.
설치시에도 npm install hexo-cli -g 명령어를 통해 간결하게 설치되며
공식 홈페이지의 구성도 Jekyll보다는 심플하고 한글화도 잘 되어있다.

Hexo의 단점은

  1. Jekyll보다 테마가 적다.
  2. Git 히스토리를 통한 이력관리가 불가능하다.

아무래도 Jekyll이 Github Page에서 지원하는 플랫폼이다보니 가져다 쓸 수 있는 테마가 적다.
하지만 그렇다고해서 월등히 차이가 난다, 라는 느낌까진 아니고 Jekyll이 100이라면 Hexo는 80쯤 되는 느낌이다.

2번 항목이 오히려 조금 문제일 수도 있는데 Hexo는 명령어를 통한 자체 빌드와 배포를 통해서
매번 완성된 하나의 파일(index.html)을 생성하는 방식으로 서비스를 제공한다.
위에서도 언급했지만 이런 경우 Git 히스토리는 기존의 파일에 대한 수정으로 보는 것이 아니라
기존 파일이 삭제 되고 아예 새로운 파일이 생성되었다고 판단하기 때문에 Git 히스토리를 통한 이력관리가 힘들어진다.
또한 css파일등을 보더라도 이 값이 어느 파일에서 기인한건지를 판단할 수 없기때문에 이 또한 이력관리에 애로사항으로 볼 수 있다.


그랬지만 결론은 Hexo

결국 둘 중 무얼 할까 고민을 했다.

Jekyll-Ruby의 경우 잠깐이지만 사용해 본 경험이 있기에(조금의 공부야 필요하겠지만) 어색하지도 않았고
엔터프라이즈급 대형 서비스를 호스팅 할 것도 아니기 때문에 Ruby의 느린 속도라는 단점도 감내할 수준이었다.

Hexo의 경우도 Git 히스토리를 통한 이력관리가 불가능한 단점이지만
이는 어디까지나 빌드&배포 후 정적파일에 대한 이력관리가 불가능한 것이지
PC에 있는 파일들에 대한 이력관리까지 불가능 한 것은 아니었다.
즉, 별도의 Repository를 하나 더 생성해서 거기서 관리하면 되는 것이었다.

결국 최종 선택은 Hexo였는데, 위에 주구장창 장단점을 비교한 것과는 달리 선택 사유는 심플했다.

하려는 것이 블로그이니 만큼 블로그의 목적에 맞는 테마가 있는 걸로 선택하기로 한 것이다.
(어차피 포스트 내용은 파일로써 남을 거고, 둘다 Markdown은 지원하니까)

이런 저런 테마를 찾아보던 중 Pilsner가 사내 금요토크에서 사용한 icarus 테마가 딱 마음에 들었다.
(카테고리&아카이브 기능, 심플한 디자인, 넓은 포스트 영역, 페이징, Internal Search 기능등)

해당 테마를 눈여겨 봐두고 있다가 결국 오늘(18.02.15), 결행을 감행했고 이 블로그가 탄생하게 되었다.

Share Comments