왜 블로그를 Jekyll 로 갈아탔나
2012 년에 블로그를 처음 만들었을 때 빠르게 만들기 위해 블로그 서비스를 사용했었다. 블로그를 빌딩하는 것 보다 글을 쓰는 것이 우선이라 쉽고 빠른 방법을 사용했었는데 아쉬운 점이 몇가지 있었다. 그래도 이게 어디야 하며 참고 사용하다가 이번에 시간이 나서 좀 더 나은 방법으로 바꿔보기로 했다.
블로그 서비스의 아쉬운 점
# 코드, 수식 삽입이 쉽지 않음
코드 삽입이 쉽지 않다. 하지만 나는 대부분의 글에 코드를 삽입해야 하는데 이 때마다 HTML 모드로 바꿔서 코드 넣고 다시 문서 모드로 바꿔 글을 작성하는 것이 여간 번거로운 것이 아니다.
수식 삽입도 쉽지 않다. 외부에서 수식을 만들어 동적으로 이미지를 만드는 서비스를 사용해 이미지 링크만 임베딩 하는 것을 사용했는데 이것 역시 번거롭다. 게다가 글에 외부 종속이 생겨 해당 서비스가 장애가 생기거나 종료되면 수식 이미지가 사라지는 약점도 있다.
# 도표의 원본 파일을 별도로 보관 해야 함
GraphViz 나 Excel 을 사용해 도표 이미지를 만들어 글에 포함하는 경우가 있는데 이 때 원본 파일을 따로 보관해야만 한다. 추후 업데이트를 위해 원본을 보관해야 하는데 별도의 저장소를 따로 만드는 것이 번거로울 뿐 아니라 종종 잊어버린다. 이를 블로그 어딘가에 넣어두면 좋지 않을까.
Jekyll 을 고른 이유
# 코드, 수식 삽입이 간단함
Markdown 을 사용하는데 익숙하다면 이 이상 쉬워질 수 있을까 싶을 정도로 간단한다. Jekyll 이 기본 제공하는 markdown 엔진이 kramdown 인데 얘가 코드와 수식을 알아서 잘 보여준다.
코드는 다음과 같이 언어별로 문법 하이라이팅도 잘되어 표현된다.
function fancyAlert(arg) {
if(arg) {
$.facebox({div:'#foo'})
}
}
수식도 LaTeX 포맷으로 입력하면 다음과 같이 보여준다.
# Github 저장소에서 호스팅 가능
Github 이 pages 서비스를 제공하는데 이러면 저장소를 하나 만들어 블로그 호스팅 용도로 사용할 수 있다. 때문에 호스팅 비용이 별도로 들지 않고 동시에 github 저장소에 도표등의 원본을 함께 보관할 수 있는 이점도 된다.
# 간단한 구조, 높은 커스터마이징
Jekyll 이 일반 문서를 웹 페이지로 컨버팅 하는 간단한 둘이라 이해하기 쉬우며 사실상 모든 것이 가능하다. 다만 큰 커스터마이징은 큰 노동을 필요로 할 뿐. 나의 경우에는 영문을 지원하기 위해 다국어 지원 플러그인 polyglot 을 사용했다.