Build engaging, asynchronous online lessons with Markdown, interactive quizzes, and seamless LMS integration.
Follow these simple steps to create your first asynchronous lesson
Copy the lessons/sample-lesson folder and rename it to match your lesson slug.
Update the front matter (title, grade level, etc.) plus the Markdown sections with your narrative.
Drop ```quiz { ... } ``` blocks to render multiple-choice checks for understanding.
Host the static files, then use the lesson URL inside an iframe. The frame adjusts height automatically.
Explore ready-to-use lesson templates and examples
Start each content.md file with YAML front matter to define lesson metadata
---
title: Industrial Revolution
grade: 10-11
time: 25 minutes
focus: Innovation & Labor
---
Add quiz blocks using JSON format for multiple-choice questions
```quiz
{
"title": "Checkpoint",
"prompt": "Which empire...",
"type": "single",
"options": [
{ "label": "Mongol", "correct": true }
]
}
```
Copy this iframe code into your Canvas course
<iframe
src="https://worldhistory.masterydata.org/lessons/sample-lesson/index.html"
width="100%"
height="800"
style="border:0;"
allowfullscreen
loading="lazy">
</iframe>