새해를 맞아 블로그를 시작해보기로 했다(새해 효과).
언제나 그렇듯, 블로그 툴 검색만 1박2일(이번엔 블로그 툴을 만들겠다는 생각은 버렸다).
플랫폼은 남들 다 쓰는 깃헙으로 잡고, jekyll, hexo, hugo를 놓고 비교했다.
jekyll은..루비에서 포기. 실은 작년 이맘때(..)즈음에 한번 시도했었다. 루비를 깔기 싫어서 도커로 루비를 올리고 이것저것 해보았는데, 깃헙에 푸시했을 때 깃헙에서 자체 지원하는 jekyll과 뭐가 꼬이는지 다르게 동작해서 삽질만하다 막상 글은 얼마 쓰지도 못하고 그대로 퍼져버렸다. 그래서 이번에는 한번 구경만 해보고 바로 포기.
hexo도 많이 쓰는 툴인데 노드 기반이라는 점이 단점으로 작용했다. 개인적으로 노드의 의존성 관리에 데인적이 몇 번 있었고, 사용기에서도 간간히 꼬이는 경우나 node_modules 크기가 만만치 않다는 이야기도 있었다. 취미삼아 쓰는 블로그에서까지 그런 문제로 스트레스 받고 싶지는 않아서 hexo도 패스.
결국 선택한 툴은 hugo. hugo는 Go로 만들어져 있어서 단일 실행 파일 형태로 다운로드 받아서 사용할 수 있다. 패키지 설치도 가능하지만 그것도 귀찮아서(..) 실행파일 다운로드 후 PATH에 추가해서 곧바로 사용했다. 템플릿 문법이 어색해서 살펴보는데 시간이 좀 걸리긴 했지만, 한글 번역문서를 보면서 템플릿 소스를 뜯어보니 감이 잡히기 시작했다.
기본적인 사용방법은
- hugo 다운로드
- hugo new site …으로 사이트 생성
- 테마사이트에서 적당한 테마를 골라 theme 디렉토리에 다운로드.
- config.toml 파일에 theme = <테마이름> 추가.
- hugo new content/post/<글제목>.md 파일로 새 글 작성
- 테마 수정은 테마 파일을 직접 고치면 안되고, 수정할 파일을 layouts 디렉토리 밑에 같은 이름의 파일을 만들어두면, layouts 디렉토리의 내용이 우선 적용된다
- 이미지 수정은 static 디렉토리 밑에 스킨의 이미지 파일과 같은 <디렉토리/파일명> 으로 파일을 만들어 두면, 마찬가지로 해당 파일이 우선 적용된다.
- hugo server -D 로 하면 draft 상태의 글도 모두 보임
- hugo 커맨드로 빌드. 결과물은 public에 생성된다.
그 외 설정으로 config.toml 파일에서 googleAnalytics 설정과 disqus 설정도 가능하다. 플러그인을 찾아봤는데, 내장 기능으로 제공하고 있어 설정만 추가하면 되는 듯 하다.