이번에는 Hashnode를 선택한 이유

이제 그만 옮기고 글을 쓰자(...)

지금까지 써봤던 플랫폼

지금까지 정말 많은 블로그 플랫폼을 써왔던 것 같다.

  • Github Pages
  • SSG on Vercel
  • Tistory
  • Wordpress
  • Ghost
  • Velog

당장 생각나는 것만 해도 이렇게 많으니 아마 더 있을지도 모른다.

Velog, Ghost는 훌륭한 플랫폼이다 그런데 왜?

먼저 Velog는 정말 잘 만들어진 플랫폼이다. 개발자를 위한 플랫폼인 만큼 마크다운 지원, 코드 하이라이팅등 다양한 기능들이 잘 녹아들어 있고 SEO도 최상위권이다. 그러나 포스트의 날짜를 수정하는 기능이 없어서 과거에 작성했던 포스트들을 옮기기가 부담스럽다.

Ghost는 만족하면서 사용했지만 Ghost Pro가 아니라 직접 호스팅하면서 사용했기 때문에 뭔가 잘못되면 글을 볼 수 없다는 점과 과거의 Ghost가 지향했던 가볍고 빠른 블로그 플랫폼에서 점점 멀어져가는 것 같아서 지금 이 Hashnode로 넘어오게 되었다.

훌륭한 Markdown 지원

사실상 블로깅을 거의 대부분 마크다운에서 했기 때문에 마크다운 지원은 선택이 아니라 필수이다. Hashnode는 개발자 블로그를 지향하는 만큼 마크다운을 지원하는 수준이 아니라 아예 마크다운 말고는 글을 쓸 수 없다.

마크다운을 충실히 지원하면서 Ghost와 마찬가지로 이미지를 업로드하면 바로바로 글에 이미지가 링크되기 때문에 과거 VSCode에서 마크다운으로 이미지를 삽입할 때 보다 편리하다.

코드 하이라이팅

아직 블로그 글에는 대부분이 무언가를 설치하는 내용이기에 코드 하이라이팅이 크게 필요하진 않지만 앞으로 쓸 글은 보다 프로그래밍에 가까운 내용을 작성할 계획이기 때문에 코드 하이라이팅 지원 유무도 매우 중요했다.

Medium의 경우 하이라이팅을 지원하지 않아 Github Gist로 코드를 붙여넣어야 하고 커스텀이 가능한 플랫폼의 경우에도 기본으로 지원하기 보다는 JS 파일을 추가해야 지원하지만 hashnode는 그럴 필요 없이 기본으로 지원한다.

// golang
package main

import "fmt"

func main() {
    fmt.Println("Hello Hasdnode!")
}

작성 일자 설정 가능

위에서도 언급했듯이 필자는 여러 블로그 플랫폼을 옮겨다니는 것을 좋아하기 때문에 작성 일자 설정 기능이 매우 중요하다. 블로그 플랫폼을 옮겼다고 해서 과거의 글을 옮긴 날짜로 설정할 수는 없기 때문이다.

작성 일자는 글에 있는 정보가 얼마나 오래 되었는지, 신뢰할 수 있는지 알 수 있게 해주는 아주 중요한 정보이다

커스텀 도메인 설정 및 리다이렉션 기능

블로그를 옮긴다고 해서 블로그의 도메인을 바꾸는 것은 어찌보면 글의 링크를 어딘가에 저장해 놓은 사람들에게는 실례이다. 플랫폼 의존적인 도메인을 사용해야 하는 플랫폼에 적힌 글을 플랫폼을 바꾸었을때 더 이상 글의 내용이 갱신되지 않기 때문이다.

또한 어쩌다가 글의 링크를 바꾸었을때 404 페이지가 아니라 제대로 된 글로 리다이렉션 할 수 있는 기능 또한 마음에 들었다.

다크모드 지원

2021~2022년을 기점으로 정말 많은 사이트들이 다크모드를 지원한다. 개인적으로도 다크모드에서 눈이 조금이나마 덜 아프다고 느끼기에 다크모드를 매우 선호하는데 Hashnode에서 기본적으로 완성도 높은 다크모드를 지원하기 때문에 따로 커스텀할 필요가 없어서 좋았다.

자체 통계 기능

블로그로 돈을 벌어먹고 사는 사람은 아니라 전문적인 통계 기능은 필요없지만 적어도 글쓴이 입장에서 어떤 글이 조회가 잘 되는지 정도는 궁금하기 때문에 Google Analytics를 달았다.

그러나 요즘 광고 차단 프로그램들은 광고뿐만 아니라 Google Analytics와 같은 추적 도구들도 차단하고 몇몇 브라우저들은 이런 광고&추적 차단 프로그램을 내장하고 있기때문에 정확한 통계를 얻을 수 없었다.

하지마 Hashnode에서 자체적으로 조회수를 집계할 수 있기 때문에 어떤 글이 조회수가 잘 나오는지 정도를 알 수 있게 되었다. 또한 Google Analytics도 추가할 수 있기 때문에 보다 정확한 통계를 알 수도 있다.

커스텀 CSS 기능

Hashnode의 글씨체를 sans-serif 를 사용하고 있기 때문에 Windows + Medium의 한글 폰트 문제는 애초에 발생하지 않는다.

브라우저에서 폰트 강제 설정을 하지 않은 Medium의 한글 폰트는 정말 끔찍하다...

그래도 여전히 폰트 문제가 발생할 수 있기 때문에 요즘 맘에 들어서 잘 사용하고 있는 Pretendard를 적용했다.

폰트뿐만 아니라 CSS로 할 수 있는건 모든 할 수 있기때문에 자유도가 Medium에 비해서는 높은 편이다.

검색 기능

검색 기능을 실제로 구현하는게 까다롭다는 것은 대부분의 개발자가 알고 있을 것이다. 따라서 Jekyll, Gatsby같은 SSG에서 조차 구현 하지 않는 경우가 많은데 Hashnode는 검색 기능을 지원하기 때문에 별다른 고생없이 검색 기능을 사용할 수 있다.

Unsplash 이미지

물론 썸네일보다는 글의 내용이 중요하다. 그래도 SNS에 공유하면 URL 미리보기가 나오는데 썸네일이 없으면 무언가 아쉬웠다. 그래서 썸네일을 적용하려고 하니 SSG로 글을 쓰면 썸네일을 고르는 것이 쉽지 않았다.

디자이너가 아니라 썸네일을 만들기는 뭐하고 저작권 없는 사진을 어디서 구해야 하는지도 몰랐었다

Ghost를 사용하면서 Unsplash라는 것을 알게됬고 썸네일을 바로 불러와서 적용할 수 있어서 상당히 편리했었다.

물론 이제는 Unsplash라는 플랫폼을 이제는 알기에 SSG를 써도 큰 문제는 없을 것이다

Hashnode 역시 Ghost처럼 썸네일을 바로 Unsplash에서 불러올 수 있고 원한다면 업로드 할 수 있는만큼 썸네일에 관한 걱정을 덜었다.

시리즈 기능

Velog에 있는걸 보고 참 좋은 기능이라고 생각한 기능인데, 한 글에 담기 힘들거나 TIL과 같은 글을 시리즈로 모아서 볼 수 있는 기능이다.

시리즈 기능은 Dashboard에서 만들고 Publish할 때 선택하면 된다