명령어
girok-md에서 사용 가능한 모든 명령어 레퍼런스입니다.
npm 스크립트
| 명령어 | 설명 |
|---|---|
npm run dev | localhost:4321에서 개발 서버 시작 |
npm run build | 프로덕션 빌드 |
npm run preview | 로컬에서 프로덕션 빌드 미리보기 |
npm run sync | 소스 폴더에서 포스트 동기화 |
npm run translate | 포스트를 대상 언어로 번역 |
npm run clean | 동기화된 포스트 정리 |
npm test | 테스트 실행 |
개발
npm run dev
핫 모듈 교체가 활성화된 Astro 개발 서버를 시작합니다.
npm run dev- 기본 URL: http://localhost:4321
- 핫 리로딩 활성화
- 드래프트 포스트 표시
npm run preview
배포 전 프로덕션 빌드를 로컬에서 미리봅니다.
npm run build && npm run preview빌드
npm run build
프로덕션용으로 사이트를 빌드합니다.
npm run build이 명령어는:
- 모든 Astro 페이지를 정적 HTML로 컴파일
- CSS/JS 번들 및 최소화
- Pagefind 실행하여 검색 인덱스 생성
결과물은 dist/ 폴더에 있습니다.
동기화
npm run sync
소스 폴더에서 src/content/posts/로 마크다운 파일을 동기화합니다.
npm run sync동작:
setting.toml에서source_root_path읽기publish: true인.md파일 스캔- 신규/변경된 파일을
src/content/posts/에 복사 - 이미지를
public/assets/에 복사 - 발행 취소되거나 삭제된 포스트 제거
옵션:
# 전체 동기화 강제 실행 (모든 파일 다시 동기화)rm -rf src/content/posts && npm run syncnpm run clean
동기화된 모든 포스트와 에셋을 제거합니다.
npm run clean다음 항목을 정리합니다:
src/content/posts/public/assets/(동기화된 이미지만)
번역
npm run translate
동기화된 포스트를 설정된 대상 언어로 번역합니다.
npm run translate동작:
setting.toml에서 번역 설정 읽기- 각 포스트의 소스 언어 자동 감지
- 설정된 모든
target_langs로 번역 - 언어 접미사가 붙은 번역 포스트 저장 (예:
post_ko.md) - 이미 번역된 포스트는 건너뜀 (증분 번역)
옵션:
# 모든 포스트 강제 재번역npm run translate -- --force
# 특정 포스트만 번역npm run translate -- --slug my-post-title
# 옵션 조합npm run translate -- -f -s my-post-title| 옵션 | 설명 |
|---|---|
--force, -f | 이미 번역된 포스트도 다시 번역 |
--slug <slug>, -s <slug> | 특정 포스트만 번역 |
자세한 설정은 포스트 번역을 참조하세요.
테스트
npm test
Vitest로 테스트 스위트를 실행합니다.
npm test기타 테스트 명령어:
# 한 번만 실행 (watch 없이)npx vitest run
# 특정 파일 실행npx vitest run scripts/__tests__/sync.test.ts
# 테스트 이름으로 실행npx vitest -t "should convert"Pagefind
검색 인덱스는 postbuild 스크립트를 통해 npm run build 중에 자동으로 빌드됩니다.
검색 인덱스를 수동으로 빌드하려면:
npx pagefind --site dist