- 기존 Markdown 문법을 확장해 책, 논문, 슬라이드, 프레젠테이션 등 다양한 형식의 문서를 손쉽게 제작할 수 있는 현대적 타이포그래피 시스템
- 함수 지원, 변수 사용, 조건문/반복문, 표준 라이브러리 등 고급 기능을 마크다운에 직접 내장하여, 기존 Markdown이나 LaTeX보다 확장성과 자동화에서 차별성 보유
- 하나의 소스 파일로 HTML, PDF, 슬라이드(리빌JS), 페이징북(paged.js) 등 여러 출력물 생성 가능, 코드 기반 콘텐츠 제작에 특화
- 스크립팅 기능과 표현력 있는 확장 문법으로 복잡하거나 동적인 콘텐츠도 자유롭게 구현 가능
- REPL, 라이브 프리뷰, 빠른 컴파일 환경 제공으로, 실시간 문서 편집 및 디버깅이 가능함
- 기존 도구들과 비교해 스크립팅 기능, 문서 제어, 쉬운 학습 곡선 등에서 Markdown, LaTeX, Typst, AsciiDoc, MDX 대비 강점이 있음
- 별도 개발환경이나 복잡한 설정 없이 Java 17 이상만 있으면 주요 운영체제에서 모두 사용 가능함
About
- Quarkdown은 마크다운의 기본 구조에 함수 및 확장 문법을 추가하여, 사용자가 단순 텍스트부터 책, 논문, 슬라이드 등 다양한 형식의 완성도 높은 결과물을 쉽게 만들 수 있게 설계된 최신 타입세팅 시스템
- CommonMark와 GFM을 기반으로 개발되었으며, 자체 문법과 함수, 변수, 사용자 정의 라이브러리까지 모두 지원함
- Quarkdown Flavor라는 독자 문법을 제공
- 튜링 완전 함수 확장 문법을 통해 마크다운에 함수, 조건문, 반복문 등 고급 기능을 추가함
- .qmd 라이브러리로 레이아웃, 입출력, 수학, 조건문, 반복문 등 다양한 기능을 사용할 수 있음
- 복잡한 문서 구조나 동적인 콘텐츠를 필요로 하는 경우에도 확장성과 생산성을 높일 수 있음
주요 특징 및 활용법
- HTML, 슬라이드, 책(Paged), PDF 등 다양한 출력 포맷 지원
- .doctype {slides}, .doctype {paged} 등 함수 호출로 문서 유형 지정 가능
- reveal.js, paged.js 등 오픈소스 기반 엔진 연동
- 스크립팅 및 동적 콘텐츠
- 함수, 변수, 조건문, 반복문 등 프로그래밍적 요소 도입
- ex) .function {greet} ... .greet {world} from:{iamgio}
- 라이브 프리뷰, 빠른 컴파일
- 실시간 미리보기 및 파일 변경 감지(Watch) 기능 제공
- -p --preview, -w --watch 옵션으로 작업 효율 증대
- 타 문서 도구와 비교
- LaTeX 대비 학습 곡선이 낮고, Markdown 대비 기능 확장성 우수
- Typst, AsciiDoc, MDX 등과 비교 시에도 스크립팅/표현력에서 강점
지원 대상(타겟)
- HTML
- 일반 출력(기본값)
- 슬라이드( reveal.js 활용 )
- 책/논문 형태( paged.js 활용, 웹서버 필요 )
- PDF
- HTML이 지원하는 모든 문서 유형, 기능을 그대로 PDF로 출력 가능
- PDF 출력에 관한 자세한 내용은 wiki 문서 참고
.doctype {slides},.doctype {paged}와 같은 함수 호출로 출력 포맷 제어
비교
| Quarkdown | Markdown | LaTeX | Typst | AsciiDoc | MDX | |
|---|---|---|---|---|---|---|
| 간결함·가독성 | ✔ | ✔ | ✗ | ✔ | ✔ | ✔ |
| 전체 문서 제어 | ✔ | ✗ | ✔ | ✔ | ✗ | ✗ |
| 스크립팅 기능 | ✔ | ✗ | 일부 지원 | ✔ | ✗ | ✔ |
| 책/기사 형식 출력 | ✔ | ✗ | ✔ | ✔ | ✔ | 3rd party |
| 프레젠테이션 출력 | ✔ | ✗ | ✔ | ✔ | ✔ | 3rd party |
| 러닝 커브 | 초록 | 초록 | 빨강 | 주황 | 초록 | 초록 |
| 타겟 지원 | HTML, PDF | HTML | PDF, PostScript | HTML, PDF, ePub | HTML |