나만의 블로그를 만들다
이상적인 블로그의 조건은 무엇인가
나의 공간을 꿈꾸며
막연히 “내 블로그 하나쯤 있으면 좋겠다.”라는 생각을 자주 했다. 내가 뭘 했는지 기록하고, 공유하고 교류하며 이 넓은 인터넷 한쪽에 내 소유의 작은 공방을 차리는 상상. 그러다 보면 나도 조금씩 성장할 수 있지 않을까 하는 기대 같은 것도 있었다.
생각만 하기는 아까우니 몇 번 시도도 해봤다. 메모장에 쓰거나 플랫폼을 빌려 시작했지만 오래 가진 못했다. 기능이 마음에 안 들거나, 금세 흥미를 잃거나, 아니면 그냥 귀찮아져서 흐지부지되곤 했다. 이번엔 조금 다르게 해보기로 했다. 진짜로, 내가 만족할 수 있는 블로그를 만들어보자. 스스로 정리하고 오래 유지할 수 있으며, 내 마음대로 다룰 수 있는 그런 공간을.
이상적인 블로그란
사람마다 이상적인 블로그의 모습은 다를 것이다. 하지만 그동안의 여러 시행착오를 돌아보며, 결국 나에게 맞는 블로그의 최소 조건은 아래 4가지로 정리되었다.
1.비용 최소화
글 쓰는 것만 노력해도 머리가 아픈 게 사실인데. 블로그를 운영하는데 금전적인 고민을 해서 되겠는가? 서버를 직접 운영하거나 비용을 지불하는건 사절이다. 그냥 무료면 좋겠다. 가능하면 평생 무료.
2.데이터와 권한의 보유
그동안 갑작스럽게 종료된 서비스가 얼마나 많던가 한국의 싸이월드(Cyworld)가 그랬고 이글루스(Egloos)가 그랬다. 아무리 지금 사용자가 많고 잘 운영되고 있는 서비스라도 10년, 20년이 지났을 때 남아있을지는 아무도 모르는 일이다.
백번 양보해서 100년간 서비스가 보장된다 하더라고, 어떠한 약관상의 변화 혹은 비지니스적 의사결정으로 인해 콘텐츠가 제한되거나 사용하던 기능의 축소 혹은 변경이 일어나는건 내가 원하는 바가 아니다
3.커스터마이즈
블로그의 디자인적인 측면, 기능적인 측면을 내가 원하는 대로 제어할 수 있어야 한다. 광고를 붙이던 다국어 지원을 하던 어떠한 기능을 추가하거나 수정하는 것이 쉬워야만 한다. 하고 싶은 대로 느낌 가는 데로
4.글쓰기가 쉬워야 한다
글쓰기는 언제나 어렵다. 하지만 최소한 쉽게 시작할 수는 있어야 한다. 언제 어디서든, 떠오를 때 바로 쓰고 지울 수 있어야 하고, 스마트폰이든 태블릿이든 데스크탑이든 환경에 구애받지 않고, 작업이 가능해야 한다.
궁극의 솔루션
이런 조건을 다 만족하는 방법은 많지 않다. 내가 고른 건 GitHub Pages + SvelteKit 조합이다.
Github Pages
GitHub에서는 계정명으로 된 저장소를 만들어 정적 사이트를 무료로 호스팅할 수 있다. 배포된 사이트는 username.github.io
형식으로 접근할 수 있으며 URL을 보면 알 수 있듯 지금, 이 블로그도 그렇게 만들어졌다. 깃허브 저장소 에서 소스코드를 볼 수 있다.
물론 GitHub 또한 기업이 운영하는 서비스이고, 예기치 못한 장애나 영구적인 서비스 종료될 수도 있다. 하지만 다행히 이런 사태를 막기 위해 마이크로소프트 데이터센터를 향해 절을 한다거나, 새벽에 깃허브 신께 제물을 바칠 필요는 없다. 왜냐하면 Git 자체가 분산형 버전 관리 시스템이기 때문이다. GitHub이 사라져도, 내 로컬 저장소에 모든 내용이 그대로 남아 있다.
혹시 더 확실히 하고 싶다면, Gitea 같은 오픈소스를 활용해 자급자족 Git 서버를 만들고, 백본을 운영할 수도 있다. 가벼워서 라즈베리파이에서도 잘 돌아간다 사실 이 단계까지, 오면 정도면 거의 기술적 자립농 수준이다.
이러한 구조는 단지 블로그를 운영하는 것을 넘어, 자신의 데이터와 도구에 대한 주도권을 가지는 데 중요한 기반이 된다.
Hugo 나 Jekyll 을 사용하지 않은 이유
Github Pages를 사용하여 단순히 포스트만 있는 블로그만 만들고 싶었다면, hugo
혹은 jekyll
를 사용하는 것이 일반적으로 더 좋은 선택이다, 하지만 나는 단순 블로그를 넘어서 직접 만든 웹 기반 도구를 배포하거나, 다국어 게시물, 맞춤형 컴포넌트 등 다양한 기능을 지원하고 싶었기 때문에 이를 고려하면 직접 만드는 것이 더 적합했다, 그리고 그편이 재미있지 않은가?
왜 하필 Svelte Kit?
직접 프론트엔드 프레임워크를 다뤄서 SSG(Static Site Generation) 기반 블로그를 만들고 싶다면, Astro 나 Next.js 같은 프레임워크도 충분히 좋은 선택이다. 특히 Next.js는 생태계도 크고, 자료도 많고, 기업용으로도 널리 쓰이기 때문에 더 “안전한” 선택일지도 모른다.
하지만 블로그는 회사에서 요구하는 제품이 아닌 어디까지나 개인 프로젝트이고 이는 기능의 많고 적음이나 성능 지표는 고려 사항이 아니라는 뜻이다.
취향입니다. 존중해주시죠.
SvelteKit에 대한 깊은 소개는 이 글의 목적과 맞지 않으니 다음 기회로 미루겠다. 대신 내가 Svelte/Kit을 좋아하는 4가지 이유를 소개하며 마무리하자:
- 번들이 작고 가볍다
- 비교적 단순하다, Plain JS 와 친하다
- 뷰와 로직의 더 명확한 분리
- 낮은 진입장벽과 간결한 문법
혹시 아직 Svelte / Svelte Kit 을 안써봤다면 한번쯤 먹어봐라 맛있다.
마크다운 + 자동화
이 블로그는 마크다운 형식으로 글을 작성하고 있다. 그리고 우리에겐 Obsidian이라는 훌륭한 마크다운 기반 메모 앱이 있다 (심지어 무료다). 다양한 플랫폼 지원은 물론이고, 플러그인 생태계도 잘 갖춰져 있다. 무엇보다 마음에 드는 건, 모든 데이터가 로컬에 저장된다는 점이다.
나의 경우 이미 몇 년 전부터 Obsidian Sync를 구독하고 있어 모든 장치에 자동으로 동기화된다. 덕분에 언제 어디서든, 자유롭게 글을 쓰고 지우는 환경이 완성되었다. 여기에 Obsidian Git 플러그인과 GitHub Actions를 활용하면, 로컬에서 저장한 마크다운 파일이 자동으로 커밋되고, 자동으로 배포된다.
즉, 글을 작성하고 저장만 해도 끝. 손댈 게 없다.
마크다운으로 쓰고, Obsidian으로 관리하고, GitHub Actions로 자동 배포. 이보다 더 게으를 수 있을까?
다만 이 자동화 작업은 아직 끝난 건 아니며, 조금씩 손을 보며 다듬어가는 중이다.
자세한 설정이나 구성 방식은 나중에 후속 포스팅에서 가벼운 부록처럼 따로 다뤄볼 예정이니 궁금하다면 블로그를 자주 방문해달라
이 과정을 통해 나는 처음에 정리한 블로그의 조건,
- 비용 최소화,
- 데이터와 권한의 보유,
- 커스터마이즈,
- 글쓰기의 용이함
네 가지 기준을 모두 만족할 수 있었다. 기능적으로는 더할 나위 없이 이상적인 구조다.
그럼에도 불구하고
이 글의 부제는 ”이상적인 블로그의 조건은 무엇인가“였다. 하지만 돌아보면, 내가 고민하고 갖춘 것은 사실 “이상적인 블로그라기보다, 이상적인 도구의 조건” 에 가까웠다. 이렇게 열심히 만든 블로그가 있음에도 불구하고 글을 쓰지 않고 버려두면 결국 먼지 쌓인 메모장 될 뿐,
이 블로그를 진정 내 이상의 블로그로 만드는 것은 나에게 달려있음이라.