Lesson types¶
Clipboard icons
Commands and prompts on this page use fenced blocks with a copy button (top-right). Click to copy the full text for Terminal, Claude, or Cursor.
Each entry in course.yaml lessons: has a type field.
markdown¶
Text content from lessons/*.md.
Authoring: Writing lessons.
html¶
Embedded web activity from interactions/<folder>/index.html.
Authoring: Building interactions.
component¶
Built-in widget from @lxpack/components — no custom HTML required.
- id: tip
title: Important
type: component
component: callout
props:
variant: warning
body: Complete the lab before continuing.
Widgets: Components.
spa¶
Built web app folder (e.g. Vite output) with an index.html entrypoint. The lesson runs in an iframe; report progress via window.parent.lxpackBridge.v1.
Authoring: LessonKit interoperability.
Choosing a type¶
| Need | Type |
|---|---|
| Reading, policy, explanation | markdown |
| Clicks, simulation, custom UI | html |
| React / Vite / built app lesson | spa |
| Callout, checklist, image card | component |