블로그 구현체 선택
블로그는 크게 네 분류로 나눌 수 있습니다.
- 대형 포털사이트 블로그 서비스: 이제는 네이버 계정에 자동으로 생성되는 네이버 블로그만 남은 듯합니다. 대형 포털 자체가 접근성이 굉장히 좋기 때문에 아주 손쉽게 블로그를 시작할 수 있다는 점에서 좋다고 생각합니다.
- 블로그 전문 사이트: 티스토리, 브런치와 같은 국내 블로그 특화 서비스와 블로거, 미디엄과 같은 해외 블로그 특화 서비스가 있습니다.
- 개인 사이트: 도메인을 구매해서 직접 서버를 구축하고, 그 안에 블로그가 동작하도록 구현할 수 있습니다.
- 깃허브 페이지: Github 저장소(repository)를 기반으로 웹 페이지를 만들 수 있습니다.
따로 알아볼 게 적고, 포스팅하기 쉬울수록 자유도는 떨어집니다. 또한, 제가 블로그 포스팅을 작성할 날이 다른 블로그 서비스들의 수명보다 길다고 생각하기 때문에, 만에 하나라도 함께 했던 서비스가 종료하게 되면 해당 내용을 옮기는 등의 큰 문제가 발생할 수 있다고 판단했습니다.
이에 따라 깃허브 페이지(깃허브가 망하면 없어져버리겠지만 그러면 개발자라는 직업 자체가 없어진단 말이겠죠?)를 통해 블로그를 만들어보기로 했습니다.
깃허브 페이지 | 프레임워크 선택
깃허브 페이지를 활용해 밑바닥부터 HTML을 짜고 포스팅을 만들 수 있겠습니다만, 작업량이 굉장히 많을 것으로 예상했습니다. 제 정적 포트폴리오를 클론코딩하는 데도 굉장한 수고가 들어갔기 때문에 거기에 게시판 기능을 추가하고, 게시글 작성하듯 포스팅을 하는 상상을 해보긴 했습니다만, 노력에 비해서 퀄리티가 나오지 않을 것이 분명했습니다.
블로그와 같이 모든 사람에게 동일한 내용을 보여주는 사이트의 경우 정적 사이트 생성기(static site generator, SSG)를 통해 작업하는 것이 굉장히 수월하다는 정보를 얻었습니다.
정적 사이트 생성기는 모던 웹 개발 트렌드 중 하나입니다. 이와 동일선 상에 있는 트렌드로는 서버사이드 렌더링과 싱글 페이지 어플리케이션이 있습니다. 해당 개념들에 대해선 다음 블로그 내용을 참고했습니다: 링크 - SPA와 SSG, 그리고 SSR.
그래서 이 정적 사이트 생성기 중 어떤 것을 활용할 수 있을지 알아봤습니다. 이때 참고한 자료는 다음과 같습니다: 링크 - 정적 사이트 생성기로 나만의 블로그 시작하기.
WordPress는 종합적인 웹 사이트를 만들 때 적합하다고 합니다. 그만큼 기능도 많고 복잡합니다. Jekyll은 Github Pages에서 공식적으로 지원하는 점 역시 매력이라 생각합니다. Hexo는 예쁜 테마와 유용한 플러그인이 많다고 합니다. 그리고 npm 베이스라서 node.js를 활용했던 경험을 살려 작업할 수 있는 부분도 있으리라 기대했습니다. Gatsby는 React와 GraphQL을 알아야 사용이 편하다고 합니다. 이는 분명 제약사항으로 다가올 것이라 생각했습니다.
고민 끝에 일단 Hexo를 선택했습니다. 아직 알고 있는 정보가 많지 않고, 일단은 써보면서 불편함이나 편리함을 직접 느껴보면 나중에 다른 프레임워크로 넘어갈 이유를 스스로 찾게 될 것이라 생각했습니다.
Hexo 튜토리얼
- 한글 튜토리얼 쓰지 말자
- 헥소 튜토리얼을 진행하는 과정에서 배운 점이 있다면, 앞으로는 절대 한글 튜토리얼을 참고하지 말아야겠다는 것이었습니다. 많은 사람들이 활용하는 영어가 가장 먼저 업데이트되는 것은 당연합니다. 심지어 한글로 제공된 튜토리얼 내용은 옛날 내용이라 이제는 필요 없는 작업을 추가로 요구하기도 했습니다. 특히, Travis CI에 대한 내용이 한글 튜토리얼에는 남아있는데, 영어 튜토리얼에선 없어져서 굉장히 당황했었습니다. 때문에 앞으로는 이런 점을 염두에 두고 불편하더라도 영어로 제공된 튜토리얼을 따라 작업을 진행하고자 합니다.
- 영어 튜토리얼 내용: 다음 링크를 참고하면 크게 어렵지 않게 hexo를 초기화할 수 있습니다. 링크 - Getting Started | Hexo
- 직접 쓰면서 느낀 헥소의 강점은 다음과 같습니다.
- 마크다운 형식의포스팅을 지원한다: 오늘 공부한 내용을 작성할 때도 그렇고, README.md를 작성할 때도 항상 마크다운 형식으로 문서를 작성했었는데, 이를 예쁘게 다듬어서 포스트로 만들어주는 부분은 굉장한 매력입니다.
- 깃허브 페이지와 연동해 저장소(repo)에 저장된 내용을
hexo deploy
명령만으로 갱신할 수 있다: 직접 해보니 포스팅을 작성하거나 블로그 테마를 업데이트 한 후에git push origin main
으로 깃허브에 밀어넣고,hexo clean
과hexo deploy
로 해당 내용을 갱신하는 것으로 동작을 마칠 수 있었습니다.
맺음말
- 물론 대형 포털사이트의 블로그를 작성하는 것보다 손이 많이 가는 건 당연합니다. 그럼에도 익숙해진다면 후에 더 예쁜 테마로 블로깅을 할 수 있을 거라 생각합니다. 또한, 이를 통해서 분명히 더 배우게 되는 것들도 있을 겁니다. 이같은 부가적인 효과도 기대하며 앞으로 포스팅을 진행하고자 합니다.
- 블로그를 설정하면서 수행했던 설정들은 다음 포스팅에서 다루고자 합니다.