Obsidian Blog Publisher

Obsidian 노트를 Jekyll GitHub 블로그로 게시하는 워크플로우.

블로그 경로

BLOG_PATH: /Users/jinwoong-kim/Library/Mobile Documents/iCloud~md~obsidian/Documents/Blog/blog/blog
IMAGE_SOURCE_PATH: /Users/jinwoong-kim/Library/Mobile Documents/iCloud~md~obsidian/Documents/Blog/blog

디렉토리 구조

경로 용도
BLOG_PATH/_posts_wip/ 작성 중인 글
BLOG_PATH/_posts/ 게시된 글
BLOG_PATH/images/글폴더명/ 게시된 글의 이미지
IMAGE_SOURCE_PATH Obsidian 붙여넣기 이미지 위치

게시 워크플로우 (Filesystem 도구 사용)

Step 1: 게시 대상 글 찾기

“게시해줘”라고 하면 _posts_wip/에서 published: true인 파일을 찾는다.

1. Filesystem:list_directory - _posts_wip/ 파일 목록 조회
2. 각 파일의 front matter에서 published: true 확인
3. published: true인 파일만 게시 대상으로 선정

Step 2: 글 읽고 이미지 추출

Filesystem:read_text_file - 글 내용 읽기
정규식: !\[.*?\]\(([^)]+\.(png|jpg|jpeg|gif|webp|heic))\)
또는: !\[\[([^\]]+\.(png|jpg|jpeg|gif|webp|heic))\]\]

Step 3: 이미지 처리

각 이미지에 대해:

  1. Filesystem:search_files - IMAGE_SOURCE_PATH에서 이미지 찾기
  2. Filesystem:create_directory - BLOG_PATH/images/글폴더명/ 생성
  3. 이미지 이름 변경: Pasted image YYYYMMDDHHMMSS.png → YYYYMMDDHHMMSS.png
  4. Filesystem:move_file - 이미지를 새 이름으로 폴더에 이동

Step 4: 이미지 참조 변환 (두 줄 추가)

원본 이미지 참조는 삭제하고, 아래 두 줄을 추가:

변환 전: ![](Pasted%20image%2020260101120320.png) 또는 ![[Pasted image 20260101.png]]

변환 후 (두 줄 추가):
![](../images/YYYY-MM-DD-글제목/20260101120320.png)
![](/images/YYYY-MM-DD-글제목/20260101120320.png)

이미지 이름 규칙:

Step 5: 파일명 날짜 처리

파일명에 날짜가 없거나 불완전하면 오늘 날짜(YYYY-MM-DD)를 자동으로 붙인다.

예시:

Step 6: 태그 자동 설정

front matter의 tags가 비어있거나 부족하면, 글 내용을 기반으로 적절한 태그를 자동 생성한다.

규칙:

Step 7: 빈 줄 두 개 → <br> 변환

Obsidian에서 빈 줄 두 개로 띄워도 Jekyll에서는 하나로 합쳐지므로, 자동 변환한다.

변환 규칙:

변환 전 (빈 줄 2개 이상):
첫 번째 문단

(빈 줄)
(빈 줄)

두 번째 문단

변환 후:
첫 번째 문단

<br>

두 번째 문단

Step 8: 맞춤법/띄어쓰기 검사

게시 전 글 내용의 맞춤법과 띄어쓰기를 검사하고, 문제가 있으면 사용자에게 알려준다.

규칙:

Step 9: 글 내용 수정 및 이동

  1. 태그 정리 (Step 6 규칙 적용)
  2. 빈 줄 변환 (Step 7 규칙 적용)
  3. Filesystem:write_file - 수정된 내용으로 _posts/에 저장 (Step 5의 파일명 사용)
  4. 원본 _posts_wip/ 파일은 _trash/로 이동

이미지 폴더명 규칙

파일명에서 .md 제거:

블로그 탐색

블로그 관련 질문 시 Filesystem 도구로 BLOG_PATH 탐색.

요약

트리거 동작
“게시해줘” _posts_wip/에서 published: true인 파일 찾아서 게시
파일명 날짜 없음 오늘 날짜(YYYY-MM-DD) 자동 추가
태그 부족 글 내용 기반 태그 1~3개 자동 생성
빈 줄 2개 이상 <br> 태그로 자동 변환
맞춤법/띄어쓰기 검사 후 수정하지 않고 사용자에게 알려주기