Pagecast: Markdown 및 HTML 보고서를 Cloudflare Pages로 게시하기

Pagecast: Markdown 및 HTML 보고서를 Cloudflare Pages로 게시하기

Pagecast는 로컬 HTML 보고서, Markdown 문서, 그리고 정적 미니 앱을 공유 가능한 Cloudflare Pages URL로 변환하도록 설계된 로컬 우선(local-first) 게시 도구입니다. 이 도구는 특히 에이전트가 생성한 보고서와 소규모 정적 웹 프로젝트에 최적화되어 있으며, 로컬 개발과 즉각적인 공개 호스팅 사이의 가교 역할을 합니다.

정적 자산의 즉각적인 배포

Pagecast는 터미널이나 로컬 관리 UI를 통해 정적 파일을 신속하게 게시할 수 있습니다. 다음 세 가지 주요 배포 패턴을 지원합니다:

  • 단일 파일: HTML 또는 Markdown 파일은 고유한 /p/<token>/ 링크로 게시될 수 있으며, 동일한 폴더에 있는 모든 형제 자산(sibling assets)도 포함됩니다.
  • 빌드된 정적 프로젝트: 개발자는 빌드 명령을 실행한 후 빌드된 프로젝트의 엔트리 파일(예: dist 또는 out 폴더 내 파일)을 게시할 수 있습니다.
  • 전체 폴더: 전체 디렉토리를 지정된 Cloudflare Pages 프로젝트로 직접 배포할 수 있습니다.

글로벌 설치 없이 시작하려면 사용자는 npx pagecast를 실행할 수 있습니다. 이를 통해 http://127.0.0.1:4173에서 로컬 관리 UI가 실행되고 http://127.0.0.1:4174에서 로컬 미리보기 서버가 실행됩니다.

엣지 기반 비밀번호 보호

Pagecast는 게시된 페이지를 비밀번호로 보호할 수 있는 메커니즘을 제공합니다. 이 보호 기능은 생성된 Cloudflare Pages Function을 사용하여 엣지(edge)에서 강제 적용되며, 다중 파일 보고서의 경우 페이지와 모든 관련 파일이 보호되지 않은 상태로 제공되지 않도록 보합니다합니다.

사용자는 관리 UI의 토글을 사용하거나 터미널에서 다음 명령어를 사용하여 비밀번호 보호를 관리할 수 있습니다:

# Add password protection
npx pagecast publish "/absolute/path/report.html" --password "your-password" --json

# Remove password protection
npx pagecast publish "/absolute/path/report.html" --no-password --json

코딩 에이전트와의 통합

Pagecast는 현대적인 AI 기반 개발 워크플로우를 위해 구축되었습니다. 사용자의 확인을 거쳐 완성된 결과물을 게시할 수 있도록 코딩 에이전트를 위한 네이티브 스킬을 제공합니다. 지원되는 통합 방식은 다음과 같습니다:

  • Codex: 제공된 스킬 디렉토리를 .codex/skills/ 폴더로 복사하여 스킬을 추가할 수 있습니다.
  • Claude Code: 플러그인 마켓플레이스를 통해 통합이 가능합니다 (/plugin marketplace add Amal-David/pagecast).
  • Generic Agents: 다른 에이전트 프레임워크를 위한 휴대용 SKILL.md 파일이 제공됩니다.

또한, 실험적인 Chrome 확장 프로그램을 통해 로컬 서버가 실행 중일 때 file:/// HTML 보고서를 Pagecast로 직접 게시할 수 있습니다.

로컬 관리 UI 및 관리

로컬 관리 UI를 통해 게시된 버전 관리, 링크 이름 변경(기존 링크가 새 링크로 리두렉션됨), 그리고 URL 취소(revocation)를 관리할 수 있습니다. 또한 경로 기반 보고서의 자동 동기화와 원본 소스 파일을 수정하지 않고 앱 내에서 HTML 콘텐츠를 직접 편집할 수 있는 기능도 지원합니다.

보안 및 아키텍처

Pagecast는 로컬 우선 보안 모델을 따릅니다:

  • 로컬 액세스: 관리 UI는 127.0.0.1에 바인딩되어 초안 미리보기가 로컬에 머물도록 보합니다합니다.
  • 공개 액세스: 콘텐츠는 활성 상태인 /p/<token>/ 링크를 통해서만 액세스할 수 있습니다; 취소된 토큰은 재배포 후 404 에러를를t가 발생합니다.
  • 경로 보호: 공개 경로는 디렉토리 트래버설(directory traversal)과 숨겨진 파일을 거부하여 우발적인 데이터 유출을 방지합니다.
  • 인프라: Pagecast는 Cloudflare 계정에 연결하기 위해 범위가 지정된 Wrangler OAuth (account:read, user:read, pages:write)를 사용합니다.

Pagecast는 MIT 라이선스 하에 배포되며 Node.js 20+가 필요합니다.

Sources