본문으로 건너뛰기

CSS 변수

PPTX 테마를 추출하면 색상 스키마가 자동으로 CSS 변수로 변환됩니다. 이 변수들을 사용하여 프레젠테이션의 스타일을 일관되게 유지할 수 있습니다.

자동 생성 변수

PPTX에서 테마를 추출하면 theme-override.css 파일이 생성됩니다:

:root {
--pptx-accent1: #FF9900;
--pptx-accent2: #232F3E;
--pptx-accent3: #146EB4;
--pptx-accent4: #4CAF50;
--pptx-accent5: #f44336;
--pptx-accent6: #9C27B0;
--pptx-dk1: #000000;
--pptx-lt1: #FFFFFF;
--pptx-dk2: #1A1A1A;
--pptx-lt2: #F5F5F5;
}

기본 테마 변수

reactive-presentation 프레임워크의 기본 테마 변수:

배경 색상

--bg-primary: #0f1117    /* 메인 배경 */
--bg-secondary: #1a1d2e /* 보조 배경 */
--bg-tertiary: #232740 /* 3차 배경 */
--bg-card: #1e2235 /* 카드 배경 */
--surface: #282d45 /* 표면 색상 */
--border: #2d3250 /* 테두리 색상 */

강조 색상

--accent: #6c5ce7        /* 기본 강조색 */
--accent-light: #a29bfe /* 밝은 강조색 */
--accent-glow: rgba(108,92,231,.3) /* 글로우 효과 */

상태 색상

--green: #00b894   /* 성공 */
--yellow: #fdcb6e /* 경고 */
--red: #e17055 /* 오류 */
--blue: #74b9ff /* 정보 */
--cyan: #00cec9 /* 링크 */
--orange: #f39c12 /* 주의 */

텍스트 색상

--text-primary: #ffffff              /* 기본 텍스트 */
--text-secondary: rgba(255,255,255,0.7) /* 보조 텍스트 */
--text-muted: rgba(255,255,255,0.5) /* 흐린 텍스트 */

폰트

--font-main: Pretendard, -apple-system, sans-serif
--font-mono: JetBrains Mono, monospace

PPTX 색상과 테마 변수 매핑

테마 추출 시 PPTX 색상은 다음과 같이 매핑됩니다:

PPTX 색상테마 변수용도
accent1--accent기본 강조색
accent2--accent-light보조 강조색
accent3--green성공 표시
accent4--red오류 표시
accent5--orange경고 표시
accent6--yellow주의 표시
dk2--bg-primary배경 (어두운 경우만)
lt1--text-primary텍스트 (밝은 경우만)
hlink--cyan링크

Canvas DSL에서 색상 사용

Canvas DSL에서 색상 키워드로 변수를 참조할 수 있습니다:

:::canvas
box api "API Gateway" at 100,150 size 120,60 color #FF9900
box lambda "Lambda" at 300,150 size 120,60 color #4CAF50
box error "Error" at 500,150 size 120,60 color #f44336
:::

지원되는 색상 키워드

키워드CSS 변수
accent--accent
green--green
yellow--yellow
red--red
blue--blue
cyan--cyan
orange--orange
border--border

변수 커스터마이징

theme-override.css 수정

:root {
/* PPTX에서 추출된 색상 오버라이드 */
--accent: #41B3FF; /* 브랜드 색상으로 변경 */
--accent-light: #AD5CFF; /* 밝은 변형 */

/* 추가 커스텀 변수 */
--brand-primary: #FF9900;
--brand-secondary: #232F3E;
}

슬라이드별 오버라이드

특정 슬라이드에서 변수를 오버라이드할 수 있습니다:

---
@background: var(--brand-primary)

## Branded Slide

This slide uses the brand primary color as background.

다크 테마 보존

테마 추출은 어두운 테마 기반을 유지합니다:

  • 배경은 어둡게 유지 (--bg-primary는 dk2의 휘도가 0.2 미만일 때만 오버라이드)
  • 텍스트 색상은 어두운 배경에서 읽기 쉽도록 밝게 유지
  • PPTX의 강조색만 직접 적용
  • --accent-glow는 accent1의 rgba(0.3) 버전으로 자동 생성

예제: 커스텀 스타일 적용

/* 타이틀 슬라이드에 그라데이션 배경 적용 */
.title-slide {
background: linear-gradient(135deg, var(--bg-primary), rgba(65,179,255,0.1));
}

/* 타이틀 슬라이드에서 다른 로고 크기 */
.title-slide .slide-logo {
height: 48px;
}

/* 강조 카드 스타일 */
.card.highlight {
border-color: var(--accent);
box-shadow: 0 0 20px var(--accent-glow);
}