Skip to content

디렉터리와 모듈 설명

English

최상위 디렉터리(자주 사용)

  • pages/: Next.js 라우트 진입점(SSG/ISR의 getStaticProps/getStaticPaths)
  • themes/: 각 테마 구현(UI와 테마 설정)
  • components/: 테마 간 재사용 컴포넌트
  • lib/: 핵심 로직(데이터, 캐시, 도구, 설정 읽기)
  • conf/: 분리된 설정 파일(blog.config.js에서 집계)
  • __tests__/: 단위 테스트
  • scripts/: 엔지니어링 스크립트(품질 검사, 초기화, 훅 설치 등)
  • .github/: Issue/PR 템플릿과 협업 메타데이터

핵심 파일

  • blog.config.js: 설정 집계 진입점(...require('./conf/*.config') 사용)
  • lib/config.js: siteConfig() 읽기 로직(우선순위 포함)
  • lib/db/SiteDataApi.js: 전체 사이트 데이터 조립의 핵심
  • CONTRIBUTING.md: 외부 기여 진입점
  • docs/README.md: 문서 내비게이션 진입점

변경 권장 방식

  • 전역 규칙 변경: lib/db/ 또는 lib/utils/를 우선 검토합니다.
  • 테마 비주얼 변경: themes/<theme>/를 우선 검토합니다.
  • 설정 항목 추가: conf/*.config.js에 우선 추가하고 blog.config.js에서 집계합니다.
  • 여러 pages/*에 같은 비즈니스 로직을 반복해서 붙여 넣지 않습니다.