MartenNote CLI Docs
CLI로 .mt 문서를 만들고 검사하는 방법입니다.
문서 작성 기본 흐름
schema --json으로 작성 규칙을 확인합니다.title과blocks가 있는 JSON을 작성합니다.write --from-json으로.mt파일을 만듭니다.validate와lint-package로 검사합니다.
martennote schema --json
martennote write --from-json page.json --out page.mt --json
martennote validate --package page.mt --json
martennote lint-package --package page.mt --json기존 문서 수정 흐름
이미 있는 .mt 파일을 수정할 때는 먼저 문서를 제한 JSON으로 읽고, 그 JSON을 고친 뒤 다시 씁니다. 이때 --base-package를 사용하면 기존 이미지와 첨부 파일을 다시 복사하지 않고 재사용할 수 있습니다.
martennote read --package old.mt --document --out old.json --json
martennote write --from-json old.json --out old.mt --base-package old.mt --overwrite --json
martennote validate --package old.mt --json
martennote lint-package --package old.mt --json기존 문서 수정 시 주의점
일반 문서 수정은 unpack보다 read --document와 write --from-json --base-package 흐름을 우선 사용합니다.
정적 사이트로 쓰는 흐름
.mt 파일은 홈페이지에 바로 올리는 파일이 아니라 원본 문서 패키지입니다. 홈페이지에 올릴 때는 unpack해서 나온 marten.html과 리소스 파일을 원하는 파일명으로 배치합니다.
martennote unpack --package main.mt --out main
martennote unpack --package docs-cli.mt --out docs-cli
martennote unpack --package docs.mt --out docs명령별 쉬운 설명
명령 | 언제 쓰나 | 쉽게 말하면 |
|---|---|---|
help | 명령어가 기억나지 않을 때 | 사용법 보기 |
version | CLI 버전을 확인할 때 | 버전 보기 |
schema | AI나 자동화가 문서 작성 규칙을 알아야 할 때 | 현재 규칙 보기 |
init | 직접 작업 폴더를 만들 때 | 빈 문서 폴더 만들기 |
sample | 동작 확인용 예시가 필요할 때 | 샘플 .mt 만들기 |
write | JSON 문서를 .mt로 만들 때 | 문서 패키지 만들기 |
check | 작업 폴더가 패키징 가능한지 볼 때 | 폴더 검사 |
pack | 작업 폴더를 .mt로 묶을 때 | 폴더를 패키지로 묶기 |
validate | .mt 파일이 깨지지 않았는지 볼 때 | 패키지 정상 확인 |
lint-package | 문서 내용이 규칙에 맞는지 볼 때 | 문서 규칙 검사 |
read | 패키지 안의 문서나 파일을 읽을 때 | 패키지 내용 보기 |
unpack | .mt를 폴더로 풀 때 | 정적 파일로 꺼내기 |
JSON 블록 스키마
write 명령은 자유 HTML을 받지 않습니다. 아래 블록만 사용해서 문서를 만들면 CLI가 안전한 MartenNote HTML로 바꿉니다.
블록 | 필드 | 뜻 |
|---|---|---|
h1, h2, h3 | type, text | 큰 제목, 중간 제목, 작은 제목 |
p | type, text | 일반 문단 |
quote | type, text | 인용문 |
code | type, text | 코드 블록 |
ul, ol | type, items | 목록, 숫자 목록 |
table | type, rows | 표 |
image | type, source, alt | 이미지 삽입 |
attach | type, source, title | 첨부 파일 삽입 |
doc | type, title, body | 패키지 안의 내부 문서 |
details | type, summary, body | 접었다 펼치는 설명 |
link | type, source, text | 다른 .mt 문서로 가는 링크 |
.mt 패키지 구조
경로 | 역할 |
|---|---|
marten.html | 문서의 메인 HTML입니다. |
docs/** | 내부 HTML 문서나 중첩 .mt 문서를 둡니다. |
assets/imgs/** | 이미지 파일을 둡니다. |
assets/files/** | 첨부 파일을 둡니다. |