컨텐츠로 건너뛰기

명령어

girok-md에서 사용 가능한 모든 명령어 레퍼런스입니다.

npm 스크립트

명령어설명
npm run devlocalhost:4321에서 개발 서버 시작
npm run build프로덕션 빌드
npm run preview로컬에서 프로덕션 빌드 미리보기
npm run sync소스 폴더에서 포스트 동기화
npm run translate포스트를 대상 언어로 번역
npm run clean동기화된 포스트 정리
npm test테스트 실행

개발

npm run dev

핫 모듈 교체가 활성화된 Astro 개발 서버를 시작합니다.

Terminal window
npm run dev

npm run preview

배포 전 프로덕션 빌드를 로컬에서 미리봅니다.

Terminal window
npm run build && npm run preview

빌드

npm run build

프로덕션용으로 사이트를 빌드합니다.

Terminal window
npm run build

이 명령어는:

  1. 모든 Astro 페이지를 정적 HTML로 컴파일
  2. CSS/JS 번들 및 최소화
  3. Pagefind 실행하여 검색 인덱스 생성

결과물은 dist/ 폴더에 있습니다.

동기화

npm run sync

소스 폴더에서 src/content/posts/로 마크다운 파일을 동기화합니다.

Terminal window
npm run sync

동작:

  • setting.toml에서 source_root_path 읽기
  • publish: true.md 파일 스캔
  • 신규/변경된 파일을 src/content/posts/에 복사
  • 이미지를 public/assets/에 복사
  • 발행 취소되거나 삭제된 포스트 제거

옵션:

Terminal window
# 전체 동기화 강제 실행 (모든 파일 다시 동기화)
rm -rf src/content/posts && npm run sync

npm run clean

동기화된 모든 포스트와 에셋을 제거합니다.

Terminal window
npm run clean

다음 항목을 정리합니다:

  • src/content/posts/
  • public/assets/ (동기화된 이미지만)

번역

npm run translate

동기화된 포스트를 설정된 대상 언어로 번역합니다.

Terminal window
npm run translate

동작:

  • setting.toml에서 번역 설정 읽기
  • 각 포스트의 소스 언어 자동 감지
  • 설정된 모든 target_langs로 번역
  • 언어 접미사가 붙은 번역 포스트 저장 (예: post_ko.md)
  • 이미 번역된 포스트는 건너뜀 (증분 번역)

옵션:

Terminal window
# 모든 포스트 강제 재번역
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로 테스트 스위트를 실행합니다.

Terminal window
npm test

기타 테스트 명령어:

Terminal window
# 한 번만 실행 (watch 없이)
npx vitest run
# 특정 파일 실행
npx vitest run scripts/__tests__/sync.test.ts
# 테스트 이름으로 실행
npx vitest -t "should convert"

Pagefind

검색 인덱스는 postbuild 스크립트를 통해 npm run build 중에 자동으로 빌드됩니다.

검색 인덱스를 수동으로 빌드하려면:

Terminal window
npx pagefind --site dist