自定义
课程设置
添加机构专属课程或替换现有课程。发送Markdown文件给我们,我们将集成到平台中。
界面布局
학생이 강의를 열면 아래와 같은 레이아웃으로 구성됩니다. 교재 설정(layout)에 따라 패널 ON/OFF가 결정됩니다.
| layout 필드 | 기본값 | 설명 |
|---|---|---|
| textbook | true | 왼쪽 교과서 패널 — lesson.md + exercise.md 렌더링 |
| editor | false | 가운데 코드 에디터 (Monaco) — 코딩 과목에서만 true |
| ai_teacher | true | 오른쪽 AI 튜터 채팅창 |
subject 필드는 AI 튜터의 시스템 프롬프트에 자동으로 주입됩니다. 예:
subject: "파이썬 코딩" → AI 튜터가 해당 과목의 전문 선생님처럼 응답합니다.文件结构与格式
폴더 구조
text
{교재-id}/
├── index.md # 교재 메타데이터 + 강의 목록 (필수)
├── {강의-id}/ # 강의 폴더 (lessons 배열 id와 일치)
│ ├── lesson.md # 강의 본문 — 교과서 패널에 렌더링
│ └── exercise.md # 실습/과제 — 교과서 패널 하단에 렌더링
└── ...index.md — 교재 메타데이터
YAML frontmatter로 작성합니다. 강의 목록, 레이아웃 구성, AI 튜터 과목 설정이 포함됩니다.
markdown
---
title: "교재 이름"
title_en: "Curriculum Name"
version: "1.0"
subject: "직무교육" # AI 튜터 시스템 프롬프트에 주입되는 과목명
target: "대상 수강생 설명" # 참고용 메모 (AI에 전달되지 않음)
layout:
textbook: true # 왼쪽 교과서 패널 (기본: true)
editor: false # 코드 에디터 (기본: false, 코딩 과목만 true)
ai_teacher: true # AI 튜터 채팅창 (기본: true)
lessons:
- id: "01-intro"
title: "첫 번째 강의"
- id: "02-next"
title: "두 번째 강의"
---
# 교재 소개
교재 설명을 작성합니다. 강의 목록 화면에 표시됩니다.| 필드 | 필수 | 설명 |
|---|---|---|
| title | ✓ | 교재 이름 (강의 목록 상단에 표시) |
| subject | ✓ | 과목 설명. AI 튜터 시스템 프롬프트에 주입됨 |
| lessons[].id | ✓ | 강의 폴더명과 일치해야 함 (예: 01-intro → 01-intro/ 폴더) |
| lessons[].title | ✓ | 왼쪽 강의 목록에 표시되는 이름 |
| layout.textbook | 교과서 패널 ON/OFF (기본 true) | |
| layout.editor | 코드 에디터 ON/OFF (기본 false) | |
| layout.ai_teacher | AI 튜터 채팅 ON/OFF (기본 true) | |
| target | 수강 대상 메모. 시스템에 직접 영향 없음 | |
| version | 교재 버전 관리용 메모 |
lesson.md — 강의 본문
교과서 패널에 마크다운으로 렌더링됩니다. 표, 이미지, 코드 블록, 인용문 등 GFM(GitHub Flavored Markdown)을 모두 지원합니다.
markdown
# 1강. 강의 제목
## 학습 목표
- 목표 1
- 목표 2
---
## 1. 개념 설명
강의 내용을 작성합니다. **굵게**, *기울임*, 표, 이미지 모두 사용 가능합니다.
| 구분 | 내용 |
|------|------|
| 항목 1 | 설명 |
> 💡 팁이나 강조 내용을 blockquote로 강조할 수 있습니다.
---
## 2. 핵심 정리
- 핵심 포인트 1
- 핵심 포인트 2exercise.md — 실습/과제
교과서 패널 하단, lesson.md 아래에 이어서 표시됩니다.
markdown
# 실습/과제
## 문제
강의 내용을 바탕으로 답해보세요.
1. 이번 강의에서 배운 핵심 개념을 한 문장으로 설명하세요.
2. 실제 업무에 어떻게 적용할 수 있을까요?
---
## 힌트
막히면 AI 튜터에게 질문하거나, 강의 내용을 다시 읽어보세요.编程专项设置
코딩 과목에서는 아래 추가 설정이 적용됩니다. 현재 브라우저 실행 런타임은 Pyodide (Python)를 지원하며, 추후 확장 예정입니다.
index.md 추가 필드
markdown
---
subject: "파이썬 코딩"
runtime: pyodide # 브라우저에서 Python 직접 실행 (서버 불필요)
layout:
editor: monaco # 코드 에디터 활성화
---starter.py — 에디터 초기 코드
강의 폴더마다 starter.py를 추가합니다. 학생이 해당 강의를 열면 에디터에 이 코드가 미리 로드됩니다.
python
# 1강 실습 — Hello, World!
# 아래 코드를 수정해보세요
name = "학생"
print(f"안녕하세요, {name}!")
# 직접 실행 버튼을 눌러보세요.코딩 과목 폴더 구조
text
{교재-id}/
├── index.md # runtime: pyodide, editor: monaco 포함
└── {강의-id}/
├── lesson.md # 강의 설명 + 코드 블록 예제
├── exercise.md # 코딩 과제
└── starter.py # 에디터에 미리 로드되는 뼈대 코드Pyodide는 WASM 기반으로 브라우저에서 Python을 실행합니다. 별도 서버 불필요, 인터넷이 제한된 폐쇄망 환경에서도 동작합니다.