Replace the URL
Use the public GitHub Pages address for the game. Do not use a local file path or the GitHub repository editing URL.
Canvas deployment
Composer-generated games are self-contained HTML files. Publish the game at a public HTTPS URL, then point Canvas directly at that URL. No second game wrapper file is required.
Step 1
GitHub Pages is a convenient static host. Another HTTPS static host works too.
Find the generated game HTML. Keep the recipe, manifest, and README for your records.
index.htmlThis is not required, but it gives you the cleanest public URL. If you keep the generated file name, the public URL simply needs to include that file name.
Upload index.html to the publishing root and commit the file.
In the repository, open Settings → Pages, choose Deploy from a branch, select the main branch and the root folder, then save.
Open the Pages URL in a private browser window. Confirm the title screen, enabled modes, questions, graphs, mobile layout, local saving where applicable, and results.
Step 2
Create or edit a Canvas page, switch to the HTML editor, and paste an iframe using your hosted URL.
<iframe
src="https://YOURUSERNAME.github.io/YOUR-REPO/"
width="100%"
height="900"
style="border:0;"
loading="lazy"
allowfullscreen>
</iframe>Use the public GitHub Pages address for the game. Do not use a local file path or the GitHub repository editing URL.
900 pixels is a practical starting point. Increase it if your Canvas theme creates unnecessary internal scrolling.
Verify the page as a student. Test desktop and mobile. Make sure the game is not blocked by institutional iframe or content-security settings.
index.html is the game. The Canvas <iframe> embeds that game. That is the whole chain.Before you assign it
Launch every mode you enabled. Timed Trial should run for the full ten-minute clock; Exam Drill follows its own practice completion path.
Progress and run data stay in the learner's browser. Test save/resume only in modes that support it and confirm clearing browser data behaves as expected.
If students must submit a result screenshot, mastery report, verification code, CSV, or other course evidence, state that requirement explicitly in Canvas.