조회 권한을 확인 중 입니다.
슬라이드를 여는 중 ...
이 슬라이드 덱은 특정 사용자에게만 공개됩니다.
Google 로그인으로 접근 권한을 확인하세요.
모든 레이아웃·디렉티브·기능 레퍼런스
작성자 — 2026-03-24
기본 레이아웃
layout: default — 기본 레이아웃layout 디렉티브를 생략하면 default가 적용됩니다.
---
## 슬라이드 제목
- 항목 1
- 항목 2
- 항목 3
---로 슬라이드를 구분layout: center모든 콘텐츠가 수평·수직 중앙에 배치됩니다.
핵심 메시지나 강조 슬라이드에 적합합니다.
layout: center + bg-color배경색과 함께 조합하면 강조 효과가 극대화됩니다.
bg-color: #1e3a5f + color: white
layout: section섹션 구분자 레이아웃 — 파트 이름·번호 표시에 사용
좋은 코드는 그 자체로 문서다. 나쁜 코드는 문서가 필요하다.
— Robert C. Martin
layout: blank스타일 없는 빈 캔버스입니다.
완전한 커스텀 레이아웃이 필요할 때 사용합니다.
two-cols — 1:1 (50/50 동일 너비)cols: 1:1은 기본값 (생략 가능)
두 옵션 비교 슬라이드에 가장 자주 사용됩니다.
<!-- col -->로 열을 구분합니다.
two-cols — 2:1 (67/33 메인+사이드바)왼쪽이 더 넓습니다. 코드·설명이 긴 경우에 적합합니다.
def calculate_total_price(items: list) -> float:
"""상품 목록의 총 가격을 계산합니다."""
return sum(item.price * item.qty for item in items)two-cols — 1:2 (33/67 사이드바+메인)cols: 1:2 설정. 이미지·코드처럼 공간이 많이 필요한 콘텐츠를 오른쪽에 배치합니다.
const response = await fetch('/api/data');
const json = await response.json();two-cols — 1:3 (25/75 좁은 레이블+넓은 내용)좁은 25%
cols: 1:3 — 레이블이나 번호를 왼쪽에, 긴 설명을 오른쪽에 배치할 때 사용합니다.
아주 좁은 왼쪽 열로 넘버링이나 아이콘 역할을 할 수 있습니다.
two-cols-header — 헤더 + 2열 비교<!-- col -->를 두 번 사용 (헤더 구분 + 열 구분)
# 명확한 이름
def get_user_by_email(email: str):
return db.query(User).filter_by(email=email)# 모호한 이름
def get(x):
return db.q(U).f(e=x)three-cols — 3열 (동일 너비)계획
구현
배포
three-cols — 1:2:1 (25/50/25 사이드바+메인+사이드바)이 영역이 가장 넓습니다.
복잡한 설명이나 코드 블록을 배치합니다.
const result = transform(input);이미지 레이아웃
image-left — 이미지 왼쪽왼쪽 이미지 + 오른쪽 텍스트 구성입니다.
bg: 이미지 경로cols: 2:3 (기본값): 이미지 40%, 텍스트 60%image-right — 이미지 오른쪽왼쪽 텍스트 + 오른쪽 이미지 구성입니다.
cols: 3:2 (기본값): 텍스트 60%, 이미지 40%image-full — 전체 배경 + 오버레이 텍스트배경 이미지 위에 텍스트를 오버레이합니다
bg-opacity: 0.25 · align: center · justify: end
배경 시스템
bg-color — 단색 배경bg-color: #0f172a + color: #e2e8f0
CSS 색상 값을 모두 지원합니다.
<!--
bg-color: #0f172a
color: #e2e8f0
-->
hex · rgb() · hsl() · named colors 모두 가능
bg-gradient — 선형 그라디언트linear-gradient(135deg, #667eea 0%, #764ba2 100%)
CSS gradient 문법을 그대로 사용합니다.
bg-gradient — Radial Gradient + bg-color 레이어radial-gradient(circle at 30% 50%, #1e3a8a 0%, transparent 60%)
bg-color와 함께 사용하면 레이어 효과를 만들 수 있습니다.
bg + 옵션 조합bg: 이미지 경로 (상대/절대 경로)bg-size: cover — 슬라이드를 꽉 채움 (contain · auto · 100% 가능)bg-position: center top — 이미지 기준점bg-opacity: 0.35 — 투명도 (0~1)bg-blend — 이미지 + 색상 블렌딩이미지와 bg-color를 CSS blend-mode로 합성합니다.
bg-blend: multiply
지원 값: multiply · screen · overlay · darken · lighten · color-burn 등
디렉티브 & 옵션
옵션 하나만 설정할 때는 한 줄로 작성합니다.
---
<!-- layout: center -->
# 내용2개 이상의 옵션은 블록 형태로 작성합니다.
---
<!--
layout: two-cols
bg-color: #1e3a5f
cols: 2:1
color: white
-->
권장: 2개 이상의 디렉티브는 항상 멀티 라인 블록 사용
align: left + justify: startalign: left — 텍스트 왼쪽 정렬justify: start — 콘텐츠 상단 배치justify 가능 값: start · center (기본) · end · between
align: center + justify: betweenalign: center — 텍스트 중앙 정렬justify: between — 첫/끝 항목을 양 끝으로첫 번째 줄
마지막 줄 (between 효과로 위아래 배분)
color + padding 조합color: #f97316 — 텍스트 색상 오렌지padding: 3rem 5rem — 콘텐츠 여백 (CSS shorthand)<!--
color: #f97316
padding: 3rem 5rem
-->콘텐츠 기능
슬라이드 화면에는 표시되지 않습니다.
## 슬라이드 제목
내용...
<!-- notes
발표자 노트입니다.
**마크다운** 서식도 지원합니다.
- 기억해야 할 포인트
- 시간 목표: 2분
-->^로 시작하는 줄이 발표자 노트가 됩니다.
## 슬라이드 제목
내용...
^ 첫 번째 발표자 노트
^ 두 번째 발표자 노트
^ **마크다운**도 지원합니다
두 방식을 혼합 사용할 수도 있습니다.
top-right + bottom-left슬롯은 메인 콘텐츠 흐름과 독립적으로 고정 위치에 배치됩니다.
🔖 Slots 데모
사진 출처: Unsplash
<!-- slot: top-right -->
🔖 **태그**
<!-- /slot -->
<!-- slot: bottom-left -->
*사진 출처: Unsplash*
<!-- /slot -->
9가지 위치: top-left · top-center · top-right
bottom-left · bottom-center · bottom-right · center
top-center + bottom-center⬆ top-center 슬롯
⬇ bottom-center 슬롯
메인 콘텐츠 영역입니다.
슬롯은 메인 레이아웃 흐름에 영향을 주지 않습니다.
이 텍스트는 center 슬롯으로 배치됩니다
center 슬롯<!-- slot: center -->
## 🎯 center 슬롯
<!-- /slot -->
layout: center와 조합하면 화면 정중앙에 배치됩니다.
build: true클릭할 때마다 항목이 하나씩 나타납니다.
build: first첫 번째 항목은 즉시 보이고, 나머지가 순서대로 나타납니다.
auto-scale-code — 코드 자동 축소코드 블록이 슬라이드 영역에 맞게 자동으로 크기가 조정됩니다.
def very_long_function_name_to_demonstrate_auto_scaling(
parameter_one: str,
parameter_two: int,
parameter_three: list[str],
parameter_four: dict[str, any] | None = None,
) -> tuple[str, int]:
"""긴 코드가 슬라이드를 넘쳐도 자동으로 축소됩니다."""
result = f"{parameter_one} - {parameter_two}"
extra = [s.upper() for s in parameter_three]
return result, len(extra)flowchart LR
A[요청 수신] --> B{인증 확인}
B -->|성공| C[비즈니스 로직]
B -->|실패| D[401 반환]
C --> E[DB 조회]
E --> F[응답 반환]
meta 옵션: width=75% · align=center · valign=center
sequenceDiagram participant C as 클라이언트 participant S as 서버 participant D as DB C->>S: POST /login S->>D: 사용자 조회 D-->>S: 사용자 정보 S-->>C: JWT 토큰 반환
| 옵션 | 값 | 기본값 | 설명 |
|---|---|---|---|
width | CSS 단위 (60%, 500px) | 100% | 최대 너비 |
align | center · left · right | center | 수평 정렬 |
valign | top · center · bottom | top | 수직 정렬 |
` ` `mermaid width=60% align=center valign=center
flowchart TB
A --> B
` ` `유틸리티 클래스
| 클래스 | 효과 |
|---|---|
text-center · text-left · text-right | 텍스트 정렬 |
text-sm | 글자 크기 0.85em |
text-lg | 글자 크기 1.15em |
text-xl | 글자 크기 1.3em |
items-start | 콘텐츠 상단 정렬 |
items-end | 콘텐츠 하단 정렬 |
auto-scale-code | 코드 블록 자동 축소 |
no-margin | 마진 제거 |
dense | 항목 간 간격 축소 |
relaxed | 항목 간 간격 확대 |
여러 클래스 조합: <!-- class: text-center text-lg dense -->
text-sm — 작은 글자 (0.85em)이 슬라이드는 <!-- class: text-sm -->이 적용되었습니다.
항목이 많거나 조밀한 내용을 담을 때 텍스트를 줄입니다.
text-xl — 큰 글자 (1.3em)핵심 메시지를 강조할 때 사용합니다.
<!-- class: text-xl -->
text-center — 텍스트 중앙 정렬이 슬라이드의 모든 텍스트가 중앙 정렬됩니다.
<!-- class: text-center -->
제목, 인용문, 강조 메시지에 활용합니다.
dense — 항목 간 간격 축소dense 클래스는 줄 간격을 줄입니다. 많은 항목을 한 슬라이드에 담을 때 사용합니다.
relaxed — 항목 간 간격 확대relaxed 클래스는 줄 간격을 늘려 여유로운 느낌을 줍니다.
첫 번째 항목
두 번째 항목
세 번째 항목
items-start — 콘텐츠 상단 정렬콘텐츠가 슬라이드 상단에 배치됩니다. (기본값은 세로 중앙)
<!-- class: items-start -->
항목이 많아서 세로 중앙 정렬이 어색할 때 사용합니다.
items-end — 콘텐츠 하단 정렬<!-- class: items-end -->
이 슬라이드의 콘텐츠는 하단에 배치됩니다.
특수한 강조 효과나 이미지 캡션 배치에 활용합니다.
text-center + no-margin + 배경 조합여러 클래스와 디렉티브를 자유롭게 조합합니다.
<!-- class: text-center no-margin -->
<!--
class: text-center no-margin
bg-gradient: linear-gradient(180deg, #1a1a2e 0%, #16213e 100%)
color: #a78bfa
-->덱 수준 설정
---
title: "슬라이드 제목"
description: "설명 (1-2문장)"
created_at: 2026-03-24 # 생성일 (변경 불가)
updated_at: 2026-03-24 # 최종 수정일
published: false # 발행 여부
version: 1 # 콘텐츠 변경 시 +1
tags: [tag1, tag2]
theme: dark # dark / light
transition: push # push / rise-fade / none
paginate: true # 슬라이드 번호 표시
header: "**로고** | 제목" # 전역 헤더 (마크다운 지원)
footer: "© 2026 이름" # 전역 푸터
encrypted: false # 암호화 여부
# password: "secret" # encrypted: true 일 때
---| 값 | 효과 | 용도 |
|---|---|---|
push (기본값) | 슬라이드가 옆으로 밀려납니다 | 일반 프레젠테이션 |
rise-fade | 아래서 올라오며 페이드 | 세련된 느낌 |
none | 즉시 전환, 애니메이션 없음 | 기술 발표, 집중 필요 시 |
# 덱 전체 설정
transition: none
# 특정 슬라이드만 오버라이드
<!--
transition: rise-fade
-->이 슬라이드는:
header: "" — 전역 헤더를 숨겼습니다 (위를 보세요)footer: "⚠️ ..." — 커스텀 footer 적용 (아래를 보세요)<!--
header: ""
footer: "⚠️ 이 슬라이드만 커스텀 footer 적용"
-->
빈 문자열("")로 설정하면 해당 슬라이드에서 숨깁니다.
theme 오버라이드덱 전체 테마와 다른 테마를 특정 슬라이드에 적용할 수 있습니다.
<!--
theme: light
-->
## 이 슬라이드만 라이트 테마
강조 슬라이드나 섹션 전환 시 시각적 대비 효과를 줄 수 있습니다.
모든 문법을 직접 실험해보세요
bun run dev → /slides/2026/03/24/slide-syntax-samples
| 키 | 기능 |
|---|---|
| 1 / Esc | 탐색 모드 |
| 2 | 레이저 포인터 모드 |
| 3 | 텍스트 입력 모드 |
| 4 | 드로잉 모드 |
| 5 | 하이라이트 모드 |
| C | 현재 슬라이드 어노테이션 지우기 |
| Ctrl/Cmd+Z | 마지막 어노테이션 실행 취소 |
| H | 도움말 토글 |
| T | 테마 전환 (라이트 ↔ 다크) |
| N | 발표자 노트 |
| ← → ↑ ↓ Space | 슬라이드 이동 (탐색/레이저/드로잉/하이라이트 모드) |
| Home / End | 첫 슬라이드 / 마지막 슬라이드로 이동 |
| Page Up / Page Down | 10페이지씩 이동 |