본문으로 건너뛰기

빌드 & CLI

Remarp 파일을 HTML 프레젠테이션으로 빌드하는 방법을 설명합니다.

기본 명령어

build - HTML 생성

단일 파일 또는 프로젝트를 HTML로 빌드합니다:

# 단일 파일 빌드
python3 remarp_to_slides.py build my-talk.md

# 프로젝트 디렉토리 빌드
python3 remarp_to_slides.py build ./my-presentation/

# 출력 디렉토리 지정
python3 remarp_to_slides.py build my-talk.md -o ./output/

sync - 증분 빌드

변경된 블록만 다시 빌드합니다 (멀티파일 프로젝트용):

# 변경된 블록만 빌드
python3 remarp_to_slides.py sync ./my-presentation/

migrate - Marp 변환

기존 Marp 파일을 Remarp 형식으로 변환합니다:

# 단일 파일 변환
python3 remarp_to_slides.py migrate ./old-content.md -o ./my-presentation/

빌드 옵션

옵션설명
-o, --output출력 디렉토리
--block특정 블록만 빌드 (멀티파일 프로젝트)
--watch파일 변경 감시 모드
--format출력 형식 (html, pdf)

멀티파일 프로젝트 구조

30분 이상의 긴 세션은 블록별로 파일을 분리하여 관리합니다:

my-presentation/
├── _presentation.md # 글로벌 설정 (필수)
├── 01-fundamentals.md # Block 1
├── 02-advanced.md # Block 2
├── 03-hands-on.md # Block 3
├── assets/ # 이미지, 다이어그램
│ └── architecture.png
└── build/ # 생성된 HTML
├── index.html # TOC 페이지
├── 01-fundamentals.html
├── 02-advanced.html
└── 03-hands-on.html
파일 확장자

.md 확장자를 사용하고 frontmatter에 remarp: true를 추가합니다. .remarp.md 확장자도 하위호환 지원됩니다.

_presentation.md

글로벌 설정만 포함하는 메인 파일:

---
remarp: true
title: "AWS Auto Scaling Deep Dive"
author: "Cloud Architect"
event: "AWS Summit Seoul 2026"
lang: ko

blocks:
- file: 01-fundamentals.md
name: fundamentals
title: "Block 1: Fundamentals"
duration: 25
- file: 02-advanced.md
name: advanced
title: "Block 2: Advanced Patterns"
duration: 30
- file: 03-hands-on.md
name: hands-on
title: "Block 3: Hands-On Lab"
duration: 35

theme:
source: "./company.pptx"
footer: "© 2026, Amazon Web Services, Inc."
---

블록 파일

각 블록 파일은 로컬 frontmatter와 슬라이드를 포함합니다:

---
remarp: true
block: fundamentals
title: "Block 1: Fundamentals"
---

# AWS Auto Scaling Fundamentals

Block 1: Fundamentals (25 min)

:::notes
{timing: 1min}
Welcome!
:::

---

## Why Auto Scaling?
...

빌드 명령어 예제

# 전체 프로젝트 빌드
python3 remarp_to_slides.py build ./my-presentation/

# 특정 블록만 빌드
python3 remarp_to_slides.py build ./my-presentation/ --block 01-fundamentals

# 변경된 블록만 증분 빌드
python3 remarp_to_slides.py sync ./my-presentation/

# 파일 변경 감시 모드
python3 remarp_to_slides.py build ./my-presentation/ --watch

내보내기 옵션

PDF 내보내기

python3 remarp_to_slides.py build my-talk.md --format pdf

또는 브라우저에서 HTML을 열고 ExportUtils.exportPDF() 사용:

// 브라우저 콘솔에서
ExportUtils.exportPDF({ title: 'My Presentation' });

ZIP 내보내기

오프라인 뷰어용 전체 패키지:

// 브라우저에서
ExportUtils.downloadZIP({ slug: 'my-presentation' });

포함 내용:

  • HTML 파일들
  • CSS/JS 프레임워크 파일
  • 이미지, 아이콘
  • 테마 파일

PPTX 내보내기

// 브라우저에서
ExportUtils.exportPPTX({ title: 'My Presentation' });
경고

PPTX 내보내기는 정적 슬라이드로 변환됩니다. Canvas 애니메이션, 인터랙티브 요소는 정적 이미지로 대체됩니다.

TOC 페이지

멀티파일 프로젝트를 빌드하면 자동으로 TOC(목차) 페이지가 생성됩니다:

<!-- build/index.html -->
<div class="block-cards">
<a href="01-fundamentals.html" class="block-card">
<div class="block-number">Block 1</div>
<div class="block-title">Fundamentals</div>
<div class="block-duration">25 min</div>
</a>
<a href="02-advanced.html" class="block-card">
<div class="block-number">Block 2</div>
<div class="block-title">Advanced Patterns</div>
<div class="block-duration">30 min</div>
</a>
</div>

<div class="export-toolbar">
<button onclick="ExportUtils.exportPDF({...})">Export PDF</button>
<button onclick="ExportUtils.downloadZIP()">Download ZIP</button>
</div>

GitHub Pages 배포

# build/ 디렉토리를 gh-pages 브랜치로 배포
git subtree push --prefix build origin gh-pages

# 또는 GitHub Actions 사용

빌드된 HTML은 정적 파일이므로 GitHub Pages, Netlify, S3 등 어디에서나 호스팅할 수 있습니다.