Showing results for 
Search instead for 
Did you mean: 
Community Participant

Using Github for course content

Jump to solution

I'd like to put core components of my class under version control in Github.  That way I can track changes from semester to semester, "fork" a class, etc.  I did install the LTI tool, but that just creates a page for the whole repo.

In theory I should be able to share things from my Github repo to Canvas using iFrames,  (How do I embed a lesson inside a Canvas course? | Canvas Instructor Guide | Canvas Guides ).   But when I use an iFrame,  I just see a blank page. (using different URLs of my own,  or directly using the examples in this document, and a few from other discussions here).

In the Rich Content Editor, it will draw a placeholder box for the iFrame, but still can't see content.

I guess this is two questions.

1. Anyone else using Github in this way?

2. Any ideas what I'm doing wrong with iFrame?

<p><iframe src="" width="100%" height="640"></iframe></p>

Tags (2)
20 Replies
Community Team
Community Team

 @rurban , awilliams​ is brainstorming this brilliantly! I seem to recall that when you upload an HTML file and link to it in a page, you have to remember to update the link every semester upon course copy.

Also,I was wondering: Does the content have to be in Github? Lots of instructors use Google Docs for this, and I'd point you to Using Google Docs for dynamic Canvas content​ for ideas on how to manage content and populate multiple courses with the same content remotely. Embeds of Google Docs in pages (usually) works beautifully.

Community Champion

So to recap, my suggestion if you want nice looking pages displayed in your iframe, use Github Pages.

1. Go to

2.  Click "Project Site"

3. Follow the instructions there to create your gh-pages branch and create your first page

4. Embed your new Github pages page into your Canvas content page using an iframe with code something like:

<iframe src="<project-name>/<page-name>" width="100%" height="600"></iframe>

Now you can use all the Github power of version control on those pages plus have them embedded into your Canvas course and have them update in Canvas when you change them in Github.

View solution in original post

Community Participant

Thanks awilliams

I was looking at GitHub pages too and may go that route.  I think it will just mean re-thinking how to present these since you can only create one set of pages per user account....unless I made each class a project, etc.  (I'm a bit of a Github noob, so also learning my way around best practices here.) 

The choice to use Markdown here was an experiment since it natively shows up in Github (whereas HTML does not). (And this nice tool made it easy to converter the HTML in Canvas to Markdown).

Community Participant

Thanks stefaniesanders

Using GitHub definitely isn't for everyone, but it helps get away from some proprietary formats and ever growing dependance on all things Google.

See also:

I'm definitely bookmarking these for future reference,  @rurban ! Thanks!

Community Champion

Thanks for the links, Richard. I am curious for sure.

Community Participant

Each repository can have it's own set of pages if you want.

Also, know that you can only use https:// with domains, and not custom ones on Github.

Community Participant

In the original post there is a mention of an LTI for GitHub.  I'm trying to find an LTI for GitHub for my colleagues to test and see if it would work for CompSci instructors.  Could you share any information you may have about that LTI for GitHub?


Community Champion

I'm not positive but a quick search of returned this result.

Community Participant

Thanks Adam.  I found it about 20 minutes after I posted here.  We'll see if that will work for our instructors.