GitHub Learning Lab is no longer accepting new public courses from outside of GitHub.
Learning paths allow you to combine Learning Lab courses, videos, and other links to create end-to-end coverage for a specific topic. They can be used provide comprehensive coverage of a topic such as "building your first website", or they can be used to combine a series of learning lab courses you want every user to complete.
Under the hood, a learning path is very similar to a course. They are created in a GitHub repository using a simple config.yml
and a course-description.md
file.
Check out Building: Create the course for more details.
When you create the course, select Learning Path:
![]() |
---|
Inside the config.yml
file, you'll edit the steps to point to the courses and resources you'd like to include in the learning path:
title: My Learning Path
description: A couple of great learning resources!
steps:
# Point to a course on Learning Lab owned by the same user or organization as this Learning Path
- course: introduction-to-github
# Point to a course owned by another user on Learning Lab
- course: githubtraining/introduction-to-github
# Point to an external link
- link: https://opensource.guide/starting-a-project/#writing-a-readme
title: The ingredients of a great README
description: >-
Great READMEs help users understand your project, why it matters and what they can do with it.
This guide shares some helpful tips to write great READMEs.
# Embed a video
- link: https://www.youtube.com/watch?v=w3jLJU7DT5E
video: https://www.youtube.com/watch?v=w3jLJU7DT5E
title: What is GitHub?
description: >-
Hey, it's your first time here, so let's not take any chances.
Check out this short video to understand why people use GitHub.
steps
The steps
block contains a list of the resources within the path. There are two types of steps, a url and a course:
External URL steps:
Learners will be presented with the link and asked to acknowledge they have reviewed the resource:
Field | Required | Description |
---|---|---|
title |
✓ | The title of the step. Appears in the the learning path page in Learning Lab, and is used for notifications on user progress in the path. |
description |
✓ | A longer description of the resource linked in the step. Displayed below the step title, and used for notifications on user progress. |
link |
✓ | The url the learner will use to access the resource. |
video |
A YouTube or Vimeo embed link, to display the video in the step. The video will appear in the progress tab after a user has registered for the learning path. You must provide the video url as both the link and the video for the video to appear in the step. |
Course steps:
Learners will be presented with a button to register for the course. The step will be marked complete when they have completed the course:
Field | Required | Description |
---|---|---|
course |
✓ | The owner/name of a course, like githubtraining/introduction-to-github . If you are the owner of the course, you can omit the owner/ |
description |
A short description of the course. If omitted, the description will be pulled from the config.yml in the course repository. |
The course-details.md
file is used to populate the Learning Path detail page. You'll find a detailed guide here: Content for the catalog