블로그 단장하기

22 March 2016

하.. Jekyll + Github Page 블로그 셋업 하느라 주말을 불태웠다. 처음에는 Github에 올리기만 하면 알아서 다 되니까 오오 신세계! 했는데.. 심플한 만큼 많은 제약이 따르기에 내 입맛대로 뜯어고치기가 너무 힘들다는 것..

Github Page는 custom plugin을 지원하지 않음

Jekyll build를 할 때 여러 플러그인을 사용할 수 있는데, Github Pages에서는 custom plugin을 지원하지 않는다 ㅠ_ㅠ. Jekyll Docs에 따르면,

GitHub Pages 는 Jekyll 을 사용합니다. 하지만 보안상의 이유로 인해, 모든 Pages 사이트는 –safe 옵션으로 사용자 플러그인이 비활성화된 상태에서 생성됩니다. 이 말은 안타깝게도, GitHub Pages 에서는 당신의 플러그인을 사용할 수 없다는 뜻입니다.

그렇다 보니 이미 있는 플러그인들만 사용해야 하고, 내가 원하는 대로 build 결과가 나오도록 자동화할 수 없다. 이 문제의 가장 심플한 해결책은 build는 local PC에서 하고, Github에는 결과물만 업로드 하는 것이다. 그래도 source 파일들을 관리를 해야하니, source 파일들은 별도의 브랜치에 넣고 master 브랜치에는 _site 디렉토리 하위의 static 파일들만 유지한다. 변경이 있을 때마다 두 개의 브랜치를 관리해야 하는 번거로움이 있으나 할만한 수준인 것 같다.

카테고리, 태그 기능의 부실함

카테고리와 태그는 블로그의 핵심 아닌가…? ㅠ_ㅠ 포스팅들을 카테고리로 분류했을 때, 카테고리별 페이징 기능을 지원하지 않음. 이는 tag도 마찬가지임. 카테고리별로 페이징을 해주는 플러그인이 몇몇 있었지만, 뭐가 문제인지 내 환경에서 제대로 동작하는 것이 없었음. ㅠ_ㅠ 또한 나는 카테고리별로 렌더링 파일을 다르게 하고 싶었고, 한 페이지에 들어가는 포스팅의 개수를 카테고리마다 다르게 지정하고 싶었음. 결국 custom plugin을 사용해야 한다는 결론에 도달했고, 위에서 언급한 방식으로 브랜치를 source와 master로 분리하여 custom plugin을 사용하였음.

댓글 기능의 부재

비록 댓글이 달릴 일이 거의 없긴 해도 댓글 기능을 달아야 하는데, 마침 정말 심플하게 댓글 플러그인을 구현한 node 프로젝트를 발견함. 근데 이걸 띄우려면 서버가 있어야 함… 결국 Github Page를 사용하면서 빌드도 직접하고 개인 서버도 사용하는 상황에 이르렀다. 댓글 플러그인은 잘 작동하긴 하지만 여러 이슈가 있어서 계속 쓸지 말지는 고민 중이다. => 결국 Disqus를 달되 최대한 깔끔함을 유지하게 위해 접어놓는 것으로 결정했다.