블로그를 이사하려고 합니다.(feat. 도큐사우르스)
회사에서 작은 사내 스터디를 시작하게 되었다. 같이 참여한 동료들은 개발팀 5명으로 1일 1커밋과 주 1회 블로그 업로드를 규칙으로 정했다. 하지만 내가 운영 중이던 블로그는 많은 수정이 필요한상태다.
이전부터 기록을 제대로 해보고 싶은 생각이 있어서 다양한 플랫폼을 이용해봤지만 딱 마음에 드는 게 없었고, 현실에 타협해서 구축은 나중으로 미루고 있었지만 이번 기회에 블로그 이사를 진행해보자는 다짐을 하였다.
블로그 플랫폼을 정해보자
지금까지 다양한 플랫폼들을 이용해서 블로그를 작성했었지만 정말 마음에 든다 싶은 플랫폼을 찾는 건 쉽지가 않았다. 혹시나 내 글이 블로그 플랫폼을 선택하는 사람에게 도움이 될까 싶어서 장단점을 적어보면 이렇다.
-
벨로그(Velog)
심플하고 직관적이다. 마크다운 지원이 큰 장점이다. 하지만 카테고리 기능이 없고 커스텀 불가능 -
Medium
디자인이 깔끔하다. 커스터마이징이 불가하다는 단점이 있고, 코드 지원이 빈약하다 -
브런치(Brunch)
글쓰기를 좋아하는 사람이라면 써볼만 할것같다 하지만 광고를 붙이기가 어렵고 컨셉 자체가 기술블로그와는 맞지 않는다 -
WordPress
GUI로 커스텀이 쉽고 플러그인 방식으로 추가 커스텀도 가능하지만, 유료로 안 쓰면 좀 힘듦. 이걸로 옮겼다가 금방 포기 -
티스토리(Tistory)
너무 잘 써왔지만 스킨 적용하고 커스텀하는 과정에서 마음에 드는 게 없음
그럼 뭘쓰지?
나는 Github Page 기능을 이용하기로 결정했다. 깃헙 페이지는 정적 사이트를 호스팅하기 위한 무료 서비스로, 깃헙 레포지토리에 저장된 HTML, CSS, JavaScript 파일을 웹 페이지로 서비스할 수 있다.
- 무료환경: 깃헙 페이지는 무료로 제공되기 때문에 비용 부담이 없다.
- 쉬운 배포: 코드 변경 사항을 깃헙 레포지토리에 푸시하는 것만으로 쉽게 배포할 수 있다.(근데 귀찮음)
- 연동성: 다른 깃헙 서비스와의 연동이 쉬워 CI/CD 파이프라인 구축이 용이하다.
- 커스터마이징: 정적 사이트 생성기와 함께 사용하여 자유롭게 커스터마이징할 수 있다.
뭐가 있을까?
-
Jekyll (Ruby)
- 장점: 설정이 간단하고 GitHub Pages와의 연동이 쉬움.
- 단점: 속도가 느리고, 대규모 사이트에 적합하지 않음.
-
Gatsby (JavaScript/React)
- 장점: 성능이 뛰어나고, 많은 플러그인과 테마 지원.
- 단점: 설정이 복잡하고, 초기 설정에 시간이 많이 걸림.
-
Hexo (JavaScript)
- 장점: 빠르고, 마크다운 지원이 훌륭함.
- 단점: 플러그인 및 테마의 다양성이 제한적임.
-
Hugo (Go)
- 장점: 매우 빠른 빌드 속도와 쉬운 설정.
- 단점: 테마와 플러그인이 상대적으로 적음.
-
Next.js (JavaScript/React)
- 장점: React 기반으로, SEO 최적화와 서버 사이드 렌 더링 지원.
- 단점: 복잡한 설정과 상대적으로 느린 빌드 속도.
-
VitePress (JavaScript/Vue)
- 장점: Vue 기반으로, 빠른 빌드 속도와 쉬운 설정.
- 단점: 기능이 제한적이고, 커뮤니티와 생태계가 상대적으로 작음.
나는 페이스북에서 제공하는 Docusaurus 를 사용해서 블로그를 구축해보려고 한다.
Docusaurus는 JS 기반으로 React의 모든 기능을 활용할 수있다. 그럼 내가 왜 이 프레임워크를 선택했는지 짧게 말해보자!
-
페이스북이 만들었다
페이스북이 만든 도구라면 일단 믿고 써야지! 최근에도 계속 업데이트 되고있다는 점도 맘에 들었다. -
초고속 페이지 로딩
Docusaurus는 페이지 로딩이 정말 빠르다. 사용자가 클릭하는 순간 페이지가 눈 깜짝할 사이에 열린다. 노션으로 블로그를 작성할때 느꼈던 느리다는 느낌을 안받고 싶었다. -
SEO 최적화
Docusaurus는 SEO 친화적이다. 모든 접근 가능한 경로에 대한 HTML 파일을 만들어주므로 검색 엔진에 잘 노출된다. 플랫폼을 사용하는것만큼은 아니겠지만 SEO 최적화를 지원하는것 너무 큰 장점이다! -
MDX 지원
마크다운 문서 내에 JSX와 리액트를 사용할 수 있다는 점이 정말 매력적이다. 마크다운의 편리함과 React의 동적인 기능을 동시에 누릴 수 있다. -
문서 버전 관리
프로젝트 릴리스와 문서를 동기화할 수 있어 언제나 최신 상태를 유지할 수 있다. 내 프로젝트와 블로그가 같은 페이스로 업데이트된다. -
국제화(i18n)
여러 언어로 사이트를 번역할수있는 기능이 기본적으로 탑재되어있다. -
강력한 검색 기능
전체 사이트를 검색할 수 있는 기능을 제공한다.
블로그 기본 구축
Blog or Docs
Docusaurus 는 docs 와 blog 모드가 각각 존재하며, docs 는 기술 문서를 위한 포맷이다. 개발 블로그는 blog mode 만 있어도 충분했기 때문에 blog only 로 설정하여 docs 페이지를 제거해버릴까 고민했다. 하지만 이럴 경우 메인 랜딩 페이지가 없어지기 때문에 뭔가 아쉬웠다.

alt text
고민 끝에 랜딩 페이지를 유지하기 위해 blog only 는 포기하고 docs 만 다른 형태로 바꿔주기로 했다.
그럼 기본적으로 설치하면 좋을 부분만 기록해보자.