휴고?
Hugo는 정적 웹페이지 생성기입니다. 그냥 쉽게말해서 웹사이트 만들 때 사용하는건데, 보통 회사 사이트나 블로그 만들 때 많이들 사용합니다. 2019년 12월 11일 현재 깃헙 star 갯수는 4만개를 돌파하여 점점 공룡 오픈소스가 되고 있습니다.
Jekyll? Hexo? Hugo!
Hugo의 자매품으로 Jekyll과 Hexo가 있습니다. 이 세쌍둥이?들은 모두 남들이 만들어 놓은 theme으로 쉽게 웹사이트를 만들 수 있습니다. 보통 수백가지의 theme을 지원하고 휴고에는 270여개의 테마가 있습니다. 블로그 테마, 문서 정리용 테마, 회사 테마 등등이 있죠.
⭐깃헙 스타 수 비교
Jekyll | Hexo | Hugo | |
---|---|---|---|
첫 배포 | 2008년 11월 5일 | 2012년 10월 10일 | 2013년 6월 25일 |
스타 수 | 39,284개 | 28,951개 | 40,037개 |
가장 후발주자였던 Hugo가 가장 많은 스타 갯수를 보유하고 있습니다. 휴고가 이렇게 많은 관심과 사랑을 받는이유는 뭘까요? 여러가지가 있겠지만, 빌드 속도가 무지 빠르다는게 가장 큰 것 같습니다. 물론 저도 이것 때문에 휴고를 선택했구요.
글을 작성하고, 배포하면 수분안에 내가 쓴 글을 웹에 올릴 수 있습니다. 지금 이 블로그에 37개 정도의 페이지가 있는데 1분안에 배포가 되는것 같아요. 페이지 수가 많으면 많아질 수록, 다른 자매품들 과의 격차는 기하 급수적으로 벌어질 것으로 생각됩니다.
🤔휴고의 단점?
제가 휴고로 블로그를 만들려고 테마를 살펴봤었는데, 딱히 마음에 드는게 없었습니다. 처음에 zen테마로 시작해서 블로그를 만들고 커스터마이징을 계속 하다가 소스를 너무 많이 고쳐버렸드랬죠. 이럴바에 그냥 하나 만들자고 해서 Zzo 테마가 탄생하게 되었습니다.
본론으로 돌아와서, 사용자의 입장에서(제 입장에서) 휴고의 최대 단점은 테마가 막 퀄리티가 엄청 좋고 그러진 않은것 같아요. 왜그럴까 생각해 봤는데, 이게 휴고 테마를 만들다 보니까 자바스크립트를 쓰는데 좀 많이 제한되어 있습니다. 단적으로 말해서, 휴고에서 변수를 정해서 자바스크립트로 불러올 수는 있는데, 자바스크립트에서 만든 변수는 휴고쪽으로 넣을 수가 없습니다. 단방향 커뮤니케이션이죠. 이것 때문에 그런건지는 몰라도, Hexo쪽 테마들과 비교해서 휴고 테마가 부실해 보이는게 사실입니다. (이 단점은 빌드 속도로 커버치고도 남죠)
위에서 깃헙 스타수 비교했었죠? 사실 각 자매품들에 딸린 테마들의 스타 수까지 계산하면, 순위는 완전히 역전됩니다. 대충 비교해보면
Jekyll | Hexo | Hugo | |
---|---|---|---|
1위 테마 스타 수 | 6,378개 | 14,914개 | 3,582개 |
2위 테마 스타 수 | 3,370개 | 7,077개 | 792개 |
뭔가 느껴지시나요? 깃 스타수가 가장 적었던 Hexo가 테마쪽을 들여다보니, 가장 많은 스타수를 보유하고 있었습니다! 이게 무슨말일까요? 사용자 입장에서는 빌드 타임이고 뭐고 필요없이 그냥 무조건 외관상 보기 좋은 테마들이 많은 Hexo 테마들이 인기가 많았던 걸까요? 아마도 그런것 도 있겠죠.
🐉중국인들의 위엄?
중국 사람들은 진짜 엄청 많은 것 같아요. Zzo 테마를 이용하는 70% 정도가 중국분들인 것 같습니다. 진짜 중국어 공부해야 시작해야 겠다고 생각할 정도로. 이 이야기를 뜬금포로 왜하느냐?
Jekyll, Hexo, Hugo 레포 가셔서 closed 된 이슈들 한번 봐보세요. Jekyll과 Hugo는 거의 100퍼 영어로 되어있어요. 근데 Hexo는 중국어도 많이 섞여 있습니다. 보니까 Hexo 프로젝트를 만드신 분이 대만분 이시더군요. 그리고 중국분들… 영어 진짜 못합니다. 그래서 이슈같은거 중국말로도 올릴 수 있는 Hexo를 중국분들이 많이 이용했고, 그에 따라 테마의 깃 스타수가 저렇게 많다는게 저의 뇌피셜입니다.
Hugo를 이용해야 하는 이유 한가지 더
Hugo는 지금도 엄청 활발하게 개발이 진행중입니다. Hugo가 처음 나왔을 때, 세상에서 가장 빠른 웹 페이지 생성기라는 타이틀로 공개 되었기 때문에, 개발을 진행 할 때도 이것을 엄청 신경쓴다고 합니다. 그러니까 버그나 기타 이슈 같은게 해결될 가능성이 크고 성능을 향상 시키는 등, 앞으로의 지원 가능성을 따져봤을 때, Hugo가 좋은 선택이 될 수 있습니다.
다음은 최근 6개월 간의 커밋한 코드 양입니다.
Jekyll | Hexo | Hugo |
---|---|---|
1,104++ 694– | 2,579++ 1704– | 83,090++ 75,789– |
압도적인 코드 변경 숫자의 차이가 보이십니까. Jekyll이나 Hexo는 거의 유지보수하는 정도의 수준인데, Hugo는 지금도 뭔가 많이 변경하네요. 2013년에 시작한 프로젝트인 Hugo가 아직도 안정화가 되지 않아서 저렇게 많이 변경하는 걸까요?
그건 아닙니다. 휴고에서는 성능적인 면에 신경을 많이 쓰기 때문에 그런겁니다. 예를들자면, Markdown을 렌더링하는 라이브러리를 python의 blackfriday에서 go의 goldmark로 변경하거나, 코드 하이라이트 해주는 라이브러리를 pygments에서 chroma로 변경하거나 하죠. 이런 굵직 굵직한 개발이 지금도 활발히 진행된다는 말씀을 드리고 싶습니다.