2026. 4. 8.

블로그 + 트위터 + 스레드 멀티채널 발행 구현

글을 작성하고 난 후 해당 글을

  • 블로그
  • 트위터
  • 스레드 채널 중 원하는 채널에 한 개 또는 두 개 이상에 발행할 수 있도록 구현하려고 한다.

고려해야할 점:

  • 휘뚜루마뚜루 폰에서 대충 작성하고 빠르게 게시하는 경우 vs. 각잡고 퇴고하며 필요하면 하이퍼텍스트까지 정리해가며 글을 쓰는 경우로 use case가 나뉜다.
  • 본문만 작성하면 되는 SNS와 달리 블로그는 제목과 URL slug를 지정해줘야한다.

이에 따라 아래와 같이 구현을 계획했다.

폰에서 빠르게 게시하는 경우

  1. iOS 단축어를 통해 게시

    • 본문 작성 → 발행 플랫폼 선택 (블로그/X/Threads 복수 선택) → 사진 첨부 여부
    • 발행 플랫폼에 블로그가 포함될 경우:
      • 제목 입력 모달 노출 → AI 슬러그 생성 → 슬러그 확인/수정 모달
    • 발행 플랫폼에 블로그가 포함되지 않을 경우에는 제목 및 슬러그 모달을 생략함
    • 마크다운 문법 처리:
      • 블로그: 마크다운 그대로 발행
      • SNS: Plain text로 변환하여 발행
        • 넘버링과 불렛포인트는 그대로 유지
        • 하이퍼텍스트는 링크텍스트 (https://example.com) 형식으로 변환
        • 굵게/기울임/코드블록 등 서식은 제거
    • 글자 수 처리:
      • X: 280자 초과 시 자동으로 스레드 분할
      • Threads: 500자 초과 시 자동으로 답글 체인 분할
  2. Slack을 통해 게시

    • #sns-autopost 채널에 글 작성 → 봇이 발행 대상 선택 버튼 표시 (X/Threads/블로그)
    • 발행 플랫폼에 블로그가 포함될 경우:
      • 제목 입력 모달 노출 → AI 슬러그 생성 → 슬러그 확인/수정 모달
      • Slack 자체 지원 문법 처리:
        • 블로그: Slack 문법을 마크다운으로 변환하여 발행
        • SNS: Plain text로 변환하여 발행
          • 넘버링과 불렛포인트는 그대로 유지
          • 하이퍼텍스트는 링크텍스트 (https://example.com) 형식으로 변환
          • 굵게/기울임/코드블록 등 서식은 제거
    • 발행 플랫폼에 블로그가 포함되지 않을 경우:
      • 제목 및 slug 모듈을 생략, 즉시 SNS 발행
      • Slack 문법 처리는 위와 동일
    • 글자 수 처리:
      • X: 280자 초과 시 자동으로 스레드 분할
      • Threads: 500자 초과 시 자동으로 답글 체인 분할
    • 사진/동영상 첨부: Slack 메시지에 파일 첨부 시 자동 감지하여 함께 발행
      • X: 이미지 최대 4장 또는 동영상 1개 (최대 140초)
      • Threads: 이미지 최대 10장 (캐러셀) 또는 동영상 1개 (최대 5분)

자리에 앉아 랩탑이나 아이패드로 각잡고 글을 작성할 경우

  1. iA Writer를 통해 게시

    • iA Writer에서 마크다운으로 글 작성 → 발행 단축어 실행
    • 발행 플랫폼 선택 (블로그/X/Threads 복수 선택)
    • 발행 플랫폼에 블로그가 포함될 경우:
      • 제목 입력 필드 노출 (본문과 별도)
      • AI 슬러그 생성 → 슬러그 확인/수정
    • 발행 플랫폼에 블로그가 포함되지 않을 경우에는 제목 및 슬러그 모달을 생략함
    • 마크다운 문법 처리:
      • 블로그: 마크다운 그대로 발행
      • SNS: Plain text로 변환하여 발행 (변환 규칙은 위와 동일)
    • 사진/동영상: SNS 발행 시 "사진 첨부?" 물어보고 카메라롤에서 선택
    • 글자 수 처리: 위와 동일
  2. Slack을 통해 게시

    • 위 "폰에서 빠르게 게시하는 경우"의 Slack 게시와 동일 (Slack은 데스크톱/모바일 모두 같은 UX)

이제 클로드 코드한테 구현해달라고 하고 테스트를 해봐야겠다.