Mornia 개발 문서
모니아(Mornia) 프로젝트의 공식 개발 문서입니다. Honkit을 기반으로 작성되었으며, Markdown 형식으로 문서를 관리합니다.
목차
문서 구성
| 섹션 | 설명 |
|---|---|
| 시작하기 | 프로젝트 개요 및 환경 설정 |
| 아키텍처 | 시스템 구조 및 설계 |
| 개발 가이드 | 개발 표준 및 컨벤션 |
| API 레퍼런스 | API 명세 |
| 배포 | 배포 절차 및 운영 |
개발 환경 요구사항
| 도구 | 권장 버전 | 확인 방법 |
|---|---|---|
| Node.js | v18 이상 | node --version |
| npm | v9 이상 | npm --version |
Node.js 설치는 nodejs.org 또는 nvm을 이용하세요.
설치 및 설정
1. 저장소 클론
git clone <repository-url>
cd mornia.doc
2. 의존성 설치
npm install
node_modules/ 디렉토리에 Honkit 및 플러그인이 설치됩니다.
Honkit 사용법
로컬 개발 서버 실행
npm run serve
브라우저에서 http://localhost:4000 으로 접속합니다.
파일을 수정하면 자동으로 새로고침됩니다.
정적 파일 빌드
npm run build
빌드 결과물은 _book/ 디렉토리에 생성됩니다.
문서 초기화 (새 문서 구조 생성)
npm run init
SUMMARY.md에 정의된 목차를 기반으로 빈 Markdown 파일을 자동 생성합니다.
PDF 내보내기
npm run pdf
mornia-doc.pdf 파일로 저장됩니다.
PDF 내보내기는 Calibre가 설치되어 있어야 합니다.
EPUB 내보내기
npm run epub
mornia-doc.epub 파일로 저장됩니다.
빌드 결과물 초기화
npm run clean
_book/ 디렉토리를 삭제합니다.
문서 작성 가이드
SUMMARY.md — 목차 관리
모든 문서 페이지는 SUMMARY.md에 등록해야 Honkit에서 인식됩니다.
# Summary
- [소개](README.md)
## 섹션 제목
- [페이지 제목](docs/section/page.md)
- [하위 페이지](docs/section/sub-page.md)
- 들여쓰기(2칸 또는 4칸)로 하위 항목을 표현합니다.
- 파일 경로는 프로젝트 루트 기준 상대 경로로 작성합니다.
- 새 페이지를 추가한 뒤
npm run init을 실행하면 파일이 자동 생성됩니다.
새 문서 페이지 추가 절차
SUMMARY.md에 항목 추가npm run init실행 (파일 자동 생성) 또는 직접 파일 생성- Markdown으로 내용 작성
npm run serve로 결과 확인
플러그인
book.json에서 플러그인을 관리합니다.
| 플러그인 | 기능 |
|---|---|
expandable-chapters |
사이드바 챕터 접기/펼치기 |
search-pro |
한국어 지원 향상 검색 |
copy-code-button |
코드 블록에 복사 버튼 추가 |
anchor-navigation-ex |
페이지 내 앵커 네비게이션 및 상단 이동 버튼 |
splitter |
사이드바 너비 조절 핸들 |
플러그인을 비활성화하려면 이름 앞에 -를 붙입니다 (예: "-sharing").
디렉토리 구조
mornia.doc/
├── docs/
│ ├── getting-started/ # 시작하기
│ │ ├── overview.md
│ │ └── setup.md
│ ├── architecture/ # 아키텍처
│ │ └── system.md
│ ├── guide/ # 개발 가이드
│ │ └── conventions.md
│ ├── api/ # API 레퍼런스
│ │ └── overview.md
│ └── deployment/ # 배포
│ └── process.md
├── _book/ # 빌드 결과물 (git 제외)
├── node_modules/ # 의존성 (git 제외)
├── book.json # Honkit 설정 (제목, 언어, 플러그인)
├── SUMMARY.md # 문서 목차
├── README.md # 문서 홈 (현재 파일)
├── package.json # npm 스크립트 및 의존성
└── .gitignore