다시 Ghost 로 블로그 시작

오래전에 운영하던 블로그를 닫고 2년만에 새롭게 블로그를 시작한다. 처음 블로그를 시작할 때와 달리 최근에는 많은 블로그 플랫폼 서비스가 있지만 새로운 블로그 운영을 위해 Ghost 를 선택했다. 2년 동안 블로그를 운영하지 못한 솔직한 이야기와 새로운 블로그를 왜 Ghost 기반으로 운영하게 된지에 대한 소개를 한다.

다시 Ghost 로 블로그 시작

오래전 석사생활을 할 때 blog.saltfactory.net 이라는 도메인으로 블로그를 시작했다. 처음 블로그를 운영할 때 saltfactory(소금공장: 세상에 소금같은 학생들을 잘 키워가자 라는 의미)라는 닉네임으로 인터넷 활동을 했다. 그렇게 몇 년 인터넷에서 닉네임으로 활동하면서 정체성에 대한 철학적인 고민을 했고 닉네임이 아닌 이름으로 활동을 하고 싶었다. 그래서 오래동안 운영해왔던 블로그를 닫고 새로운 이름으로 블로그를 시작하려 했다. 하지만 다시 새롭게 시작하는 것은 결코 쉬운일이 아니었다.

그로부터 약 2년이 지난 지금 생각하면 그 때 블로그를 닫지 않았다면 지금까지 많은 글이 남았을텐데 하는 아쉬움이 남는다. 내가 운영하는 블로그는 주로 연구개발관련 내용을 다루는 기술블로그이다. 하지만 아이러니하게 그 기술이라는 이름의 함정은 블로그를 다시 시작하는데 방해꾼이 되었다. 예전보다 더 좋은 블로그로 시작해야 한다는 욕심은 그동안 블로그 운영하지 못한 것에 대한 보상심리 같은 것 이였다.

나의 첫 블로그는 지금은 다음카카오에서 운영하고 있는 Tistory로 운영했어다. 티스토리는 원래 테터컴퍼니사의 테터툴즈 기반 설치형 블로그였다.  그 당시 블로그는 blogger, Naver 블로그, Daum 블로그 등이 대형포털이 운영하는 관리형 블로그였기 때문에 사용자는 정해진 일관성있는 형태의 블로그에 글만 게시할 수 있었다. 반면에 티스토리는 대부분의 기능을 사용자가 직접 수정해서 운영할 수 있었기 때문에 다양한 스킨이나 플러그인을 만들어 차별화된 블로그 운영을 할 수 있었다. 티스토리는 일반사용자 뿐만 아니라 전문직 사용자들에게도 큰 인기로 얻으며 다음(현 다음카카오)으로 이전하게 된다.

GitHub 는 연구개발 세상에 큰 영향을 주었는데 그 중에 하나가 바로 Markdown 의 대중화이다. 개발자들은 코드와 글 사이의 경계를 모호하게 만들어버린 이  Markdown 으로 빠르게 블로그를 운영하고 편리하게 코드를 적용하면서 블로그를 운영하기 시작했다. 더구나 GitHub Pages 로 개인서버 없이도 단지 코드만 GitHub 에 저장소로 올리면 바로 웹 페이지를 생성할 수 있는 기능이 출시되어 개발자들이 Markdown 으로 블로그를 운영하는 것이 유행처럼 되었다. 그래서 나도 티스토리에 Markdown 을 적용하기 위해서 여러가지 노력을 했었다. 지금은 티스토리 에디터 자체에서 Markdown 입력을 지원하지만 그 당시에는  WISWIG 에디터로만 입력이 가능했다. 그래서 로컬에서 Markdown 문서를 작성하고 그 문서를 html 으로 변환하여 티스토리로 글을 게시하는 작업을 했다. 다음은 그 당시 직접 개발해서 사용하던 모듈이다.

이런 변환과 복사과정은 글을 게시하는데 꽤 번거로운 작업이라 단순히 Markdown 으로 문서를 작성하고 소스를 GitHub 에 올리면 블로그에 글이 게시되는 GitHub Pages 로 이전하였다. 연구개발 분야에서 GitHub 자체가 가지고 있는 영향력있는 이미지와 git 를 사용하여 블로그를 운영할 수 있다는 매력에 심취해 꽤 오랫동안 GitHub Pages로 블로그를 운영할 수 있었다. 하지만 GitHub Pages 가 git 의 특징을 사용한 버전기반 운영방법으로 사소한 것 하나를 수정하는데 의미 없는 commit을 만들어서 push 해야하는 문제가 쌓이기 시작했다. 글이라는 것은 언제든 수정이 발생하는 경우가 많은데 이 때 모든 수정을 commit 으로 만드는 것은 처음 기대했던 컨텐츠의 버전관리의 모습과 조금 달랐다. 그리고 GitHub 자체 가지고 있는 저장소의 limit 때문에 블로그에 삽입하는 이미지 파일을 외부 서버로 업로드하고 링크를 복사해서 붙여 사용해야만 했다. 기술블로그 특징상 이미지 첨부가 많은데 빠르고 편리하게 글을 등록하려고 Markdown로 블로그를 운영했는데 결국 이미지를 삽입하는데 불편한 시간을 소비할 수 밖에 없었다.

이후 Node.js 가 선풍적인 인기를 얻으며 Node.js 기반의 여러 유용한 서비스들이 많이 만들어졌는데 지금 소개할 Ghost 가 Node.js 기반 블로그 플랫폼으로 만들졌다. 지금은 Ghost 3.0 버전이지만 Ghost 1.0 이전 버전까지는 Ghost 의 입력기 자체가 바로 Markdown 형식 입력기였다. Markdown 의 갈증도 해소하면서 GitHub Pages 처럼 의미없는 커밋을 만들지 않아도 되었다. 또한 Node.js 기반 플랫폼은 다양한 플러그인을 만들어서 사용할 수 있었는데 Storage 를 S3와 연동하는 플러그인을 사용하여 입력기에 단순히 이미지 업로드하면 이미지가 저장소에 저장이 되고 Markdown 이미지 태그로 바로 입력이 되어 글 생산성을 극대화 할 수 있었다.

이렇게 시행착오와 몇번의 블로그 이전후 saltfactory 라는 닉네임을 이름으로 전환하기 위해 기존 블로그를 닫게 된다.

이 후 새롭게 블로그를 시작할 때는 블로그 서비스 플랫폼이 너무 다양해서 선택하는데 고민을 해야하는 상황이 발행했다. 선택사항이 많으니 비교를 해야하고 비교를 하기 위해서 심도있기 분석을 해야했다. 단순히 블로그 글을 게시하는 일과 너무나 상관없는 이 복잡한 일을 몇번이고 주기적으로 반복하면서 결국 블로그를 만들지 못했던 것이다. Medium 은 너무 완벽하지만 한국어가 너무 가독성이 좋지 않고(이 문제는 최근 해결되었다) 커스텀 도메인을 적용할 수 없고 코드 하이라이팅을 할 수 없었다. Tumblr 는 블로그 최적화 서비스지만 국내 사용자에게 너무 안좋은 인식이 만들어졌고 더구나 페이지 로딩 속도가 너무 느려서 사용하기 불편하였다.

자 그럼 가장 만족하며 사용하던 Ghost 로 다시 돌아가자!

라고 단순하게 생각하고 Ghost 를 설치하고 글을 입력하는 순간 절망에 빠지고 말았다. 문제는 입력기에서 한글 입력을 정상적으로 할 수 없는 버그가 있어 아예 사용을 할 수 없었다. 나는 바로 GitHub 에 이슈를 남겼지만... 이 글을 내가 2년전에 남겼지만 2년이 지난 지금도 아직 이 문제가 해결되지 않았다.

Korean Input problem in iOS mobile browsers · Issue #9710 · TryGhost/Ghost
I installed Ghost v1.24.6 but this have a problem with Korean Input in iOS mobile browsers. Korean is made of a combination of consonants and vowels, which are input separately. I also want to inpu...

결국 어떤 서비스를 이용하여 블로그를 운영할까? 라는 기술욕심으로 나는 정작 블로그에서 제일 중요한 컨텐츠에 집중을 하지 못한것이다. 2년의 시간이 흘렀다. 그리고 Medium 에 매달 돈을 지불하면서 유료구독을 하고 있다. 최종적으로 Medium 을 이용하여 블로그를 운영하려고 마음을 결정했다. Netflix, Airbnb, Google 도 Medium 을 사용하여 블로그를 운영하는데 하면서 스스로 마음을 결정했다.

마지막으로 Medium 을 선택하지 않고 Ghost로 블로그를 다시 시작한 이유를 소개한다.

  • Medium 의 URL 은 의미 있는 URI 가 아니다 : URI는 말 그대로 Uniform Resource Identifier 이다. 그래서 URI이 내용이 의미보다 중요한 것이 Identifier 이지만 URI 에서 Resource를 설명할 수 있으면 좋겠다고 생각하기 때문에 내가 생각하는 인터넷 리소스 철학과 맞지 않았다.
  • Medium 의 도메인은 Medium 이다 : 이게 가장 문제인데 다른 유명벤더들도 Medium을 모두 사용하는데 이 것이 무슨 문제일까 반문할 수 있겠지만 몇 번의 블로그 이전을 통해서 인터넷상에서 리소스를 이전할 때 변하지 않는 URI를 만들고 싶어서이다. URI 에서 도메인은 베이스가 되기 때문에 만약 Medium 에서 글을 다른 곳으로 이전할 때 URI 가 모두 변경되어 버리기 때문이다. 나는 기존 블로그를 닫고 blog.sungkwang.me 라는 도메인으로 운영을 하고 싶었기 때문에 도메인을 적용할 수 없는것은 큰 단점이였다.

하지만 Ghost 로 선택했을 경우 한글을 입력할 수 없는 치명적인 문제가 있었다. 나는 이 문제 해결을 위해서 Ghost 소스를 Fork 했고 웹 사이트에서 한글입력 문제를 해결했다. 아직 모바일 웹 사이트에서 한글입력 문제는 해결되지 않았지만 이 또한 하나씩 해결할 계획을 가지고 있다. 정식으로 Ghost 오픈소스의 contributor 가 될 수 있을지는 모르지만 새로운 블로그 시작과 함께 새로운 도전도 다짐한다.