You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
:running_woman: If you look around this repository, you'll find a few standard template files in your Code tab. These contain most of what you need to get a Learning Lab course up and running. You can take this code as-is and create a Learning Lab course on your own. If you'd like some guidance, continue taking this course!
4
+
5
+
:book: The official [Learning Lab docs](https://github.github.com/learning-lab-equipment/#/) contain full instructions on how to create courses. We'll link to the docs throughout the course. Take a look if you'd like more information about steps we take in this course.
6
+
7
+
### New to GitHub?
8
+
9
+
For this course, you'll need to know how to create a branch on GitHub, commit changes using Git, and open a pull request on GitHub. If you need a refresher on the GitHub flow, check out [the Introduction to GitHub course]({{ host}}/courses/introduction-to-github).
10
+
11
+
You'll also need a general understanding of webhooks and the GitHub API. [The Getting started with GitHub Apps course]({{ host}}/courses/getting-started-with-github-apps) is a good place to start.
12
+
13
+
## Step 1: Open a pull request
14
+
15
+
The first step for creating a Learning Lab course is to have a `config.yml` file. We've gotten one started for you in the `add-metadata` branch.
16
+
17
+
### :keyboard: Activity: Open a pull request
18
+
19
+
1.[Open a pull request]({{ prUrl }}) with base `master`, and comparing the `add-metadata` branch.
20
+
21
+
<hr>
22
+
<h3align="center">I'll respond in your new pull request with your next step.</h3>
Great! The title will appear anywhere the course is referenced. We'll fill in some more of the course metadata later. First, let's get into its foundation.
2
+
3
+
### Template Repositories
4
+
Most courses make use of a [:book: template repository](https://github.github.com/learning-lab-equipment/#/2-4-template). Template repositories are cloned for the learner and can contain starter code or resources to help them find their way.
5
+
6
+
When creating or choosing a template repository for your course, consider two main points.
7
+
8
+
First, how will this content help teach the concept? For example, if a course is teaching HTML, the success of the finished product should feature HTML.
9
+
10
+
Second, is the finished product useful? At the end of the course, the finished repository should serve a purpose aside from the lessons. A working game, a portfolio or resume, or a collection of template documents are a few examples.
11
+
12
+
## Step 3: Designate a template repository
13
+
Let's add our own template repository. To speed things up, we've created a template repository for you. We recommend using our template for this course.
14
+
15
+
### :keyboard: Activity: Add a template repository
16
+
17
+
1. Replace the commented `repo:` under `template:` in the `config.yml` file with a title of your first course
18
+
- Note: You can do this by editing the file, or accepting my suggested change
19
+
20
+
<hr>
21
+
<h3align="center">I'll respond below when I detect a commit on this branch.</h3>
Awesome! Whenever a user registers for this course, Learning Lab will create a new repository for them based on `lab-starter-template`.
2
+
3
+
## Step 4: Name the repository
4
+
5
+
`lab-starter-template` is a great template repository, and it's named to reflect that. But, we want the user to experience that repository through a _different_ name. We can designate that name in the `config.yml`.
6
+
7
+
### :keyboard: Activity: Update the repository name
8
+
9
+
1. Change the field `name:` as part of the `template:` section to anything you like
10
+
- Note: You can do this by editing the file, or accepting my suggested change
11
+
12
+
<hr>
13
+
<h3align="center">I'll respond below when I detect a commit on this branch.</h3>
Anything in this block occurs before the learner can access their course repository.
5
+
6
+
### Learning Lab actions
7
+
Actions are reusable modules that each course has access to. They are each designed to do very specific things, and nothing more. This is to optimize for reusability and simplicity. The documentation contains a listing of [:book: all available actions](https://github.github.com/learning-lab-equipment/#/actions/).
8
+
9
+
## Step 5: Add to the `before` block
10
+
11
+
We'll use the [:book:`createIssue` action](https://github.github.com/learning-lab-equipment/#/actions/createIssue/) to create an issue for the learner with some initial instructions. The `createIssue` action requires two [:book: options](https://github.github.com/learning-lab-equipment/#/actions/createIssue/?id=options):
12
+
- a title
13
+
- the body of the response
14
+
15
+
We'll define both of those here, but we'll create the body in the next step.
16
+
17
+
### :keyboard: Activity: Add the `createIssue` action
18
+
19
+
1. Add a `createIssue` action in the `before:` block
20
+
- Note: Since there are multiple suggested changes, you can go to the "Files changed" tab and [accept them as a batch](https://help.github.com/articles/incorporating-feedback-in-your-pull-request/)
21
+
22
+
<hr>
23
+
<h3align="center">I'll respond below when I detect a commit on this branch.</h3>
0 commit comments