블로그를 오래 운영하려면 글을 쓰는 일뿐 아니라 파일을 만들고, 이미지를 정리하고, 발행 전에 확인하는 과정도 편안해야 한다. 이 프로젝트는 hoonjung.dev와 그 글을 관리하는 로컬 도구를 함께 만드는 데서 시작했다.

왜 두 제품을 함께 만드는가

사이트와 작성 도구는 서로 다른 제품이지만 같은 블로그 형식을 사용한다. 저장소를 나누면 콘텐츠 규칙을 바꿀 때 두 곳을 따로 맞춰야 한다. 그래서 Astro 사이트, Electron 기반 Publishing Studio, 공유 스키마를 하나의 pnpm 모노레포에 둔다.

apps/site       공개 정적 사이트
apps/writer     로컬 Publishing Studio
packages/       공유 콘텐츠 규칙

Markdown을 원본으로 삼기

블로그 글의 유일한 원본은 사이트 저장소의 Markdown 파일이다. 앱이 없어져도 글을 읽고 빌드할 수 있고, Git 기록만으로 변경 과정을 복원할 수 있다. 이 선택의 자세한 이유는 Markdown을 원본으로 유지하기에 정리했다.

발행을 저장과 분리하기

자동 저장은 로컬 파일만 갱신한다. 공개 상태 변경과 Git push는 운영자가 diff를 확인하고 승인해야 일어난다. 실수하기 쉬운 작업일수록 빠른 자동화보다 명시적인 경계를 우선한다.

flowchart LR
  A[작성] --> B[로컬 저장]
  B --> C[미리보기]
  C --> D[검증]
  D --> E[승인]
  E --> F[발행]

첫 단계에서는 사이트가 콘텐츠를 정확히 렌더링하는 기반부터 완성한다. 그 위에서 작성 경험과 발행 안전장치를 차례로 쌓을 예정이다.