jaysnote는 어떻게 동작하나 — 전체 구조와 OpenClaw 연동
이 사이트가 글 작성부터 배포·검색·접근 제어까지 어떻게 굴러가는지, 그리고 OpenClaw로 한마디에 글이 올라가는 구조를 한 장의 그림과 함께 정리한다.
이 글은 jaysnote.com이 어떻게 동작하는지 전체 그림을 정리한 것이다. 글을 쓰면 어떻게
사이트에 올라가고, 누가 무엇을 볼 수 있고, OpenClaw에게 “내 홈페이지에 올려줘” 한마디로
어떻게 게시가 되는지를 한눈에 본다.

한 줄 요약
서버 없는 정적 사이트 + 엣지 인증. 글은 마크다운으로 git에 쌓이고, push하면 자동으로 빌드·배포된다. 공개 글은 누구나, 비공개 글은 나만(Cloudflare Access) 본다. 운영할 서버가 없으니 공격 표면이 거의 없다.
1. 글을 쓴다 — 나, 또는 OpenClaw
글의 원천은 두 가지다.
- 직접 작성: 마크다운 파일을 저장소
src/content/public/(공개) 또는src/content/private/(비공개)에 두면 된다. 가시성은 폴더로 정해진다 — 플래그를 깜빡해서 비공개가 공개되는 사고를 구조적으로 막는다. - OpenClaw에게 위임: “지금까지 논의한 내용 내 홈페이지에 올려줘” 라고 하면 OpenClaw가 대화를 정리해 글로 만들어 올린다. (아래 4번)
각 글 맨 위에는 frontmatter로 제목·날짜·태그·요약이 붙는다.
---
title: "글 제목"
pubDate: 2026-06-05
description: "한 줄 요약"
tags: ["태그1", "태그2"]
draft: false
---
2. git에 push하면 자동으로 배포된다
저장소는 비공개 GitHub 저장소다. main에 push가 들어오면 GitHub Actions가 돌아간다.
astro build— 마크다운을 정적 HTML로 빌드- Pagefind로 검색 인덱스 생성
wrangler pages deploy— 결과물을 Cloudflare Pages로 업로드
업로드는 바뀐 파일만 올라가고(증분), 보통 1~2분이면 반영된다. 빌드가 깨지면 배포가 안 되므로 잘못된 글이 사이트에 새지 않는다.
3. 누가 무엇을 보나 — 공개 vs 비공개
배포된 사이트는 jaysnote.com에서 서빙된다. 두 갈래다.
- 공개 글 → 누구나 열람.
- 비공개 글(
/private/*) → Cloudflare Access가 엣지에서 막는다. 내 Google 계정으로 로그인해야만 통과한다. 로그인 코드를 직접 만들지 않았으니(=인증 로직 0줄) 그쪽으로 뚫릴 일이 없다. 인증이 없으면 정적 파일 자체가 서빙되지 않는다.
검색도 새지 않게 둘로 나눴다
검색은 Pagefind(정적 전문 검색)다. 핵심은 인덱스를 공개용/비공개용으로 분리한 것:
공개 검색 인덱스에는 비공개 글이 아예 들어가지 않는다. 비공개 글의 검색 인덱스 파일조차
/private/ 안에 있어 Access 뒤에 숨는다. 즉 검색 스니펫으로도 비공개 내용이 누출되지 않는다.
4. OpenClaw 연동 — “내 홈페이지에 올려줘”
이 PC의 OpenClaw에 jaysnote-publish 스킬을 붙여 두었다. 동작은 역할이 깔끔히 나뉜다.
- OpenClaw(LLM): 대화를 글로 정리하고 제목·적절한 태그·요약·공개여부를 정한다.
- 스크립트: 정확한 날짜(시스템 시간) 를 넣고, 파일명/폴더를 맞춰 저장한 뒤 commit + push.
날짜를 사람이나 모델이 추측하지 않고 스크립트가 채우므로 시간 정보가 항상 정확하다. push가 되는 순간 위 2~3번 파이프라인이 그대로 굴러 사이트에 반영된다. 그래서 “방금 논의한 거 정리해서 게시해” 한마디가 곧 게시가 된다.
왜 이렇게 만들었나
- 정적 + 엣지 인증 → 운영 서버가 없어 공격 표면이 최소. (원래 목표: “해킹되지 않아야 한다”)
- 폴더로 가시성 결정 + 검색 인덱스 분리 → 비공개 누출을 구조적으로 차단.
- git push = 게시 → OpenClaw의 마크다운 출력과 자연스럽게 맞물리고, 별도 업로드 API 없이 자동화된다.
- 비용은 도메인 갱신과 OpenClaw가 쓰는 토큰 값 정도로, 호스팅·인증·검색은 무료 범위 안이다.
더 깊은 설계는 저장소의
docs/(PRD·ARCHITECTURE·SPEC)에 정리돼 있다.