Embed¶
H5P equivalent
H5P Iframe Embedder
When to use¶
Use Embed for sandboxed third-party content — external tools, legacy pages, or partner widgets that must stay in an iframe.
Configure config.embed.allowedHosts in production so only approved origins load.
Requirements¶
Always set a descriptive
titlefor screen readers.Optional
allowsandbox tokens andaspectRatiofor layout.
Try it¶
Documentation demo
Use the Live demo, React, AI prompt, and Packaging / Manifest tabs below. Embedded demos disable telemetry, xAPI, and the LMS bridge. For production delivery, use the CLI template src/courseConfig.ts and LMS Go-Live.
<Text>Allowlist embed hosts in production course config.</Text>
<Embed blockId="policy-embed" src="https://approved.example.com/widget" title="Policy lookup" />
Copy into Cursor, Copilot, or ChatGPT after the vibe coding starter context:
Read lessonkit.json and src/App.tsx before editing.
Add a Embed block (H5P-style: Iframe Embedder) like this example inside the active <Lesson>:
<Text>Allowlist embed hosts in production course config.</Text>
<Embed blockId="policy-embed" src="https://approved.example.com/widget" title="Policy lookup" />
Requirements:
- Import only from @lessonkit/react; use block types from block-catalog.v3.json.
- Keep existing courseId, lessonId, and navigation stable unless I ask to add a lesson.
- After edits, list changed files and what to verify in the browser (lessonkit dev).
Workflow tips: https://lessonkit.readthedocs.io/en/latest/guides/vibe-coding/prompting-and-workflows.html