blog-auto-publish-workflow-guide

블로그 3개 자동 게시 워크플로우 가이드

Obsidian에서 작성한 글을 Digital Garden (Vercel), Quarto (GitHub Pages), 네이버 블로그 세 곳에 자동으로 게시하는 워크플로우를 설계합니다.

세 블로그 플랫폼별 자동화 가능성

블로그 자동화 난이도 방법 현재 상태
Digital Garden (Vercel) 쉬움 Git push → 자동 배포 플러그인 설치 완료, GitHub repo 있음
Quarto (GitHub Pages) 쉬움 quarto render → git push → 자동 배포 msk8rehab repo 있음
네이버 블로그 어려움 공식 API 없음, Selenium 또는 XML-RPC 미구축

전체 워크플로우 구상

Obsidian에서 글 작성 (마크다운)
    │
    ├─ frontmatter에 배포 대상 지정
    │   dg-publish: true     → Digital Garden
    │   quarto: true         → Quarto Blog
    │   naver: true          → 네이버 블로그
    │
    ▼
Claude Code / n8n 자동화
    │
    ├─① Digital Garden: 플러그인이 자동으로 GitHub commit → Vercel 자동 배포
    │
    ├─② Quarto: md → quarto render → git push → GitHub Pages 자동 배포
    │
    └─③ 네이버: md → HTML 변환 → 네이버 블로그 API (XML-RPC)

① Digital Garden (Vercel) — 이미 거의 완성

현재 플러그인이 설치되어 있고 GitHub repo(medibb/digitalgarden)도 연결되어 있습니다.

현재 방식 (수동):

자동화 방안: Obsidian 내 플러그인이 이미 처리하므로 추가 자동화 불필요. 다만 CLI에서 발행하고 싶다면 n8n에서 GitHub API로 직접 md 파일을 commit하는 방식도 가능합니다.


② Quarto (GitHub Pages) — n8n + Docker로 자동화 가능

현재 방식 (수동):

# R-studio server에서
quarto render
git add . && git commit -m "update" && git push

자동화 방안:

n8n Webhook (또는 Schedule)
    → Claude Code에서 md 파일을 quarto 포맷으로 변환
    → Docker에서 quarto render 실행
    → git push → GitHub Pages 자동 배포

다만 현재 NAS Docker에 Quarto가 설치되어 있지 않다면, R-Studio Server 컨테이너에서 실행하거나 별도 Quarto 컨테이너가 필요합니다. 또는 GitHub Actions를 활용하면 서버 부담 없이 가능합니다:

# .github/workflows/publish.yml
name: Publish Quarto Blog
on:
  push:
    branches: [main]
    paths: ['posts/**']

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: quarto-dev/quarto-actions/setup@v2
      - run: quarto render
      - uses: peaceiris/actions-gh-pages@v3
        with:
          github_token: ${{ secrets.GITHUB_TOKEN }}
          publish_dir: ./docs

이 경우 n8n에서 md 파일을 repo에 push하기만 하면 GitHub Actions가 render + deploy를 자동 처리합니다.


③ 네이버 블로그 — 가장 까다로움

네이버는 공식 글쓰기 API가 제한적입니다. 가능한 방법은 두 가지:

방법 A: XML-RPC API (추천)

네이버 블로그 관리 → 글쓰기 API 설정에서 활성화하면 XML-RPC 프로토콜(https://github.com/yousung/naver-blog-xmlrpc)로 글을 등록할 수 있습니다.

n8n HTTP Request 노드
    → POST https://api.blog.naver.com/xmlrpc
    → XML-RPC metaWeblog.newPost 호출
    → 제목, HTML 본문, 카테고리, 태그 전달

제약사항:

방법 B: Selenium (비추천)

Selenium으로 네이버 로그인 후 자동 글쓰기(https://www.gpters.org/dev/post/connect-naver-selenium-automatically-EzG4w5z8ru5ZF9V)가 가능하지만, 네이버가 봇 탐지를 강화하고 있어 계정 제재 위험이 있습니다.


실현 가능한 통합 워크플로우

현재 인프라(NAS Docker + n8n + Claude Code + Discord Bot)를 활용한 현실적인 구현안입니다:

┌─────────────────────────────────────────────────────┐
│  Obsidian에서 블로그 글 작성                         │
│  (claudeanswer/ 폴더의 blog-*.md 파일들)             │
└──────────────┬──────────────────────────────────────┘
               │
               ▼
┌─────────────────────────────────────────────────────┐
│  Discord: /publish 슬래시 커맨드                     │
│  또는 n8n Webhook                                   │
│                                                     │
│  인자: 파일명, 대상(garden/quarto/naver/all)          │
└──────────────┬──────────────────────────────────────┘
               │
     ┌─────────┼─────────┐
     ▼         ▼         ▼
  Garden    Quarto     Naver
     │         │         │
  GitHub    GitHub    XML-RPC
  commit    push       API
     │         │         │
  Vercel    GitHub    네이버
  자동배포   Actions   블로그

Discord /publish 커맨드 예시

/publish file:blog-web-vscode-claude-cli-nas target:all

Bot: 📝 블로그 발행 시작
     ✅ Digital Garden: commit 완료 → Vercel 배포 중
     ✅ Quarto: push 완료 → GitHub Actions 실행 중
     ⚠️ Naver: XML-RPC 발행 완료 (비공개, 확인 후 공개 전환 필요)

단계적 구축 추천

단계 작업 난이도 비고
1단계 Digital Garden: 현재 그대로 사용 (이미 동작) - -
2단계 Quarto: GitHub Actions 추가 + n8n에서 git push 자동화 반나절
3단계 네이버: XML-RPC API 활성화 + n8n HTTP Request 노드 반나절
4단계 Discord /publish 커맨드로 통합 하루

참고 자료


Comments