Alert
Generated by AI (Codex)
오늘 진행한 작업 요약
Obsidian 첨부파일이 content/Files에 계속 쌓이면서,
블로그와 무관한 파일까지 git status에 노출되고 공개 저장소에도 남는 문제가 있었다.

이번에 정리한 방향은 아래와 같다.
content/Files/**를.gitignore가 아니라.git/info/exclude로 로컬 전용 처리- 게시 글에 필요한 첨부만 자동으로 stage하는 스크립트 추가
- 긴 파일명을 직접 입력하지 않도록 shell wrapper 추가
- 현재
content/Files의 미사용 파일 목록만 추출
반영한 변경 사항
1) 로컬 전용 ignore 정책 (.git/info/exclude)
.git/info/exclude에content/Files/**추가.gitignore에서는content/Files/**제거- 효과:
- 로컬
git status노이즈는 줄이고 - 빌드/배포 파이프라인에는 영향 주지 않음
- 로컬
2) 자동 stage 스크립트
scripts/stage-content.mjs추가- 기능:
- 글(
content/**/*.md)에서 링크를 파싱 content/Files의 실제 참조 파일만 찾아 자동 stage- ignore 규칙이 있어도
git add -f로 필요한 파일은 포함
- 글(
3) 실행 편의 wrapper
scripts/stage-content.sh추가 (실행 권한 포함)- 이제 아래처럼 사용 가능:
./scripts/stage-content.sh "content/Dev/내 글.md"- 파일명 길면 인자 없이 자동 탐지 모드 사용:
./scripts/stage-content.sh4) 사용 가이드 문서화
scripts/stage-content-guide.md작성- 발행 절차, 자동 탐지 방식, 내부 동작 상세 정리
디버깅 기록 (이미지 전체 깨짐 이슈)
증상
- 로컬 Obsidian에서는 이미지 정상
- 블로그에서 기존 이미지 포함 전체 이미지가 깨짐
- DevTools에서 이미지 경로가
../../Files/...가 아니라../../docker-...png형태로 확인됨
재현 결과
- 로컬
npx quartz build:Emitted 451 files(정상,public/Files생성) - Docker/서빙 환경:
Emitted 188 files(비정상,public/Files미생성)
원인
.gitignore의content/Files/**규칙이 빌드 파일 수집 단계에 반영되면서,
content/Files자산이 입력에서 제외됨- 그 결과 Quartz가 이미지 파일을 자산으로 emit하지 못해 경로가 깨지고 404 발생
조치
- Quartz 소스는 수정하지 않음
content/Files/**를.gitignore에서 제거- 동일 규칙을
.git/info/exclude로 이동
이후 운영 흐름
- 로컬 노트 작성 후 게시할 글을
content/로 이동 ./scripts/stage-content.sh실행git status/git diff --cached --name-only확인- 커밋/푸시
이 흐름으로 운영하면, content/Files 전체를 수동 관리하지 않아도
게시 글에 실제로 연결된 첨부만 커밋에 포함할 수 있다.