├── .github
├── dependabot.yml
├── steps
│ ├── -step.txt
│ ├── 0-welcome.md
│ ├── 1-enable-github-pages.md
│ ├── 2-configure-your-site.md
│ ├── 3-customize-your-homepage.md
│ ├── 4-create-a-blog-post.md
│ ├── 5-merge-your-pull-request.md
│ └── X-finish.md
└── workflows
│ ├── 0-welcome.yml
│ ├── 1-enable-github-pages.yml
│ ├── 2-configure-your-site.yml
│ ├── 3-customize-your-homepage.yml
│ ├── 4-create-a-blog-post.yml
│ └── 5-merge-your-pull-request.yml
├── .gitignore
├── LICENSE
└── README.md
/.github/dependabot.yml:
--------------------------------------------------------------------------------
1 | version: 2
2 | updates:
3 | - package-ecosystem: "github-actions"
4 | directory: "/"
5 | schedule:
6 | interval: "monthly"
7 |
--------------------------------------------------------------------------------
/.github/steps/-step.txt:
--------------------------------------------------------------------------------
1 | 0
2 |
--------------------------------------------------------------------------------
/.github/steps/0-welcome.md:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/.github/steps/1-enable-github-pages.md:
--------------------------------------------------------------------------------
1 |
8 |
9 | ## Step 1: Enable GitHub Pages
10 |
11 | _Welcome to GitHub Pages and Jekyll :tada:!_
12 |
13 | The first step is to enable GitHub Pages on this [repository](https://docs.github.com/en/get-started/quickstart/github-glossary#repository). When you enable GitHub Pages on a repository, GitHub takes the content that's on the main branch and publishes a website based on its contents.
14 |
15 | ### :keyboard: Activity: Enable GitHub Pages
16 |
17 | 1. Open a new browser tab, and work on the steps in your second tab while you read the instructions in this tab.
18 | 1. Under your repository name, click **Settings**.
19 | 1. Click **Pages** in the **Code and automation** section.
20 | 1. Ensure "Deploy from a branch" is selected from the **Source** drop-down menu, and then select `main` from the **Branch** drop-down menu.
21 | 1. Click the **Save** button.
22 | 1. Wait about _one minute_ then refresh this page (the one you're following instructions from). [GitHub Actions](https://docs.github.com/en/actions) will automatically update to the next step.
23 | > Turning on GitHub Pages creates a deployment of your repository. GitHub Actions may take up to a minute to respond while waiting for the deployment. Future steps will be about 20 seconds; this step is slower.
24 | > **Note**: In the **Pages** of **Settings**, the **Visit site** button will appear at the top. Click the button to see your GitHub Pages site.
25 |
--------------------------------------------------------------------------------
/.github/steps/2-configure-your-site.md:
--------------------------------------------------------------------------------
1 |
7 |
8 | ## Step 2: Configure your site
9 |
10 | _You turned on GitHub Pages! :tada:_
11 |
12 | We'll work in a branch, `my-pages`, that I created for you to get this site looking great. :sparkle:
13 |
14 | Jekyll uses a file titled `_config.yml` to store settings for your site, your theme, and reusable content like your site title and GitHub handle. You can check out the `_config.yml` file on the **Code** tab of your repository.
15 |
16 | We need to use a blog-ready theme. For this activity, we will use a theme named "minima".
17 |
18 | ### :keyboard: Activity: Configure your site
19 |
20 | 1. Browse to the `_config.yml` file in the `my-pages` branch.
21 | 1. In the upper right corner, open the file editor.
22 | 1. Add a `theme:` set to **minima** so it shows in the `_config.yml` file as below:
23 | ```yml
24 | theme: minima
25 | ```
26 | 1. (optional) You can modify the other configuration variables such as `title:`, `author:`, and `description:` to further customize your site.
27 | 1. Commit your changes.
28 | 1. (optional) Create a pull request to view all the changes you'll make throughout this course. Click the **Pull Requests** tab, click **New pull request**, set `base: main` and `compare:my-pages`.
29 | 1. Wait about 20 seconds then refresh this page (the one you're following instructions from). [GitHub Actions](https://docs.github.com/en/actions) will automatically update to the next step.
30 |
--------------------------------------------------------------------------------
/.github/steps/3-customize-your-homepage.md:
--------------------------------------------------------------------------------
1 |
7 |
8 | ## Step 3: Customize your homepage
9 |
10 | _Nice work setting the theme! :sparkles:_
11 |
12 | You can customize your homepage by adding content to either an `index.md` file or the `README.md` file. GitHub Pages first looks for an `index.md` file. Your repository has an `index.md` file so we can update it to include your personalized content.
13 |
14 | ### :keyboard: Activity: Create your homepage
15 |
16 | 1. Browse to the `index.md` file in the `my-pages` branch.
17 | 1. In the upper right corner, open the file editor.
18 | 1. Type the content you want on your homepage. You can use Markdown formatting on this page.
19 | 1. (optional) You can also modify `title:` or just ignore it for now. We'll discuss it in the next step.
20 | 1. Commit your changes to the `my-pages` branch.
21 | 1. Wait about 20 seconds then refresh this page (the one you're following instructions from). [GitHub Actions](https://docs.github.com/en/actions) will automatically update to the next step.
22 |
--------------------------------------------------------------------------------
/.github/steps/4-create-a-blog-post.md:
--------------------------------------------------------------------------------
1 |
7 |
8 | ## Step 4: Create a blog post
9 |
10 | _Your home page is looking great! :cowboy_hat_face:_
11 |
12 | GitHub Pages uses Jekyll. In Jekyll, we can create a blog by using specially named files and frontmatter. The files must be named `_posts/YYYY-MM-DD-title.md`. You must also include `title` and `date` in your frontmatter.
13 |
14 | **What is _frontmatter_?**: The syntax Jekyll files use is called YAML frontmatter. It goes at the top of your file and looks something like this:
15 |
16 | ```yml
17 | ---
18 | title: "Welcome to my blog"
19 | date: 2019-01-20
20 | ---
21 | ```
22 |
23 | For more information about configuring front matter, see the [Jekyll frontmatter documentation](https://jekyllrb.com/docs/frontmatter/).
24 |
25 | ### :keyboard: Activity: Create a blog post
26 |
27 | 1. Browse to the `my-pages` branch.
28 | 1. Click the `Add file` dropdown menu and then on `Create new file`.
29 | 1. Name the file `_posts/YYYY-MM-DD-title.md`.
30 | 1. Replace the `YYYY-MM-DD` with today's date, and change the `title` of your first blog post if you'd like.
31 | > If you do edit the title, make sure there are hyphens between your words.
32 | > If your blog post date doesn't follow the correct date convention, you'll receive an error and your site won't build. For more information, see "[Page build failed: Invalid post date](https://docs.github.com/en/pages/setting-up-a-github-pages-site-with-jekyll/troubleshooting-jekyll-build-errors-for-github-pages-sites)".
33 | 1. Type the following content at the top of your blog post:
34 | ```yaml
35 | ---
36 | title: "YOUR-TITLE"
37 | date: YYYY-MM-DD
38 | ---
39 | ```
40 | 1. Replace `YOUR-TITLE` with the title for your blog post.
41 | 1. Replace `YYYY-MM-DD` with today's date.
42 | 1. Type a quick draft of your blog post. Remember, you can always edit it later.
43 | 1. Commit your changes to your branch.
44 | 1. Wait about 20 seconds then refresh this page (the one you're following instructions from). [GitHub Actions](https://docs.github.com/en/actions) will automatically update to the next step.
45 |
--------------------------------------------------------------------------------
/.github/steps/5-merge-your-pull-request.md:
--------------------------------------------------------------------------------
1 |
6 |
7 | ## Step 5: Merge your pull request
8 |
9 | _Nice work, friend :heart:! People will be reading your blog in no time!_
10 |
11 | You can now [merge](https://docs.github.com/en/get-started/quickstart/github-glossary#merge) your pull request!
12 |
13 | ### :keyboard: Activity: Merge your changes
14 |
15 | 1. Merge your changes from `my-pages` into `main`. If you created the pull request in step 2, just open that PR and click on **Merge pull request**. If you did not create the pull request earlier, you can do it now by following the instructions in [step 2](/.github/steps/2-configure-your-site.md).
16 | 1. (optional) Delete the branch `my-pages`.
17 | 1. Wait about 20 seconds then refresh this page (the one you're following instructions from). [GitHub Actions](https://docs.github.com/en/actions) will automatically update to the next step.
18 |
--------------------------------------------------------------------------------
/.github/steps/X-finish.md:
--------------------------------------------------------------------------------
1 |
5 |
6 | ## Finish
7 |
8 | _Congratulations friend, you've completed this course!_
9 |
10 |
11 |
12 | Your blog is now live and has been deployed!
13 |
14 | Here's a recap of all the tasks you've accomplished in your repository:
15 |
16 | - You enabled GitHub Pages.
17 | - You selected a theme using the config file.
18 | - You learned about proper directory format and file naming conventions in Jekyll.
19 | - You created your first blog post with Jekyll!
20 |
21 | ### What's next?
22 |
23 | - Keep working on your GitHub Pages site... we love seeing what you come up with!
24 | - We'd love to hear what you thought of this course [in our discussion board](https://github.com/orgs/skills/discussions/categories/github-pages).
25 | - [Take another GitHub Skills course](https://github.com/skills).
26 | - [Read the GitHub Getting Started docs](https://docs.github.com/en/get-started).
27 | - To find projects to contribute to, check out [GitHub Explore](https://github.com/explore).
28 |
--------------------------------------------------------------------------------
/.github/workflows/0-welcome.yml:
--------------------------------------------------------------------------------
1 | name: Step 0, Welcome
2 |
3 | # This step triggers after the learner creates a new repository from the template.
4 | # This workflow updates from step 0 to step 1.
5 |
6 | # This will run every time we create push a commit to `main`.
7 | # Reference: https://docs.github.com/en/actions/learn-github-actions/events-that-trigger-workflows
8 | on:
9 | workflow_dispatch:
10 | push:
11 | branches:
12 | - main
13 |
14 | # Reference: https://docs.github.com/en/actions/security-guides/automatic-token-authentication
15 | permissions:
16 | # Need `contents: read` to checkout the repository.
17 | # Need `contents: write` to update the step metadata.
18 | # Need `pull-requests: write` to create a pull request.
19 | contents: write
20 | pull-requests: write
21 |
22 | jobs:
23 | # Get the current step to only run the main job when the learner is on the same step.
24 | get_current_step:
25 | name: Check current step number
26 | runs-on: ubuntu-latest
27 | steps:
28 | - name: Checkout
29 | uses: actions/checkout@v4
30 | - id: get_step
31 | run: |
32 | echo "current_step=$(cat ./.github/steps/-step.txt)" >> $GITHUB_OUTPUT
33 | outputs:
34 | current_step: ${{ steps.get_step.outputs.current_step }}
35 |
36 | on_start:
37 | name: On start
38 | needs: get_current_step
39 |
40 | # We will only run this action when:
41 | # 1. This repository isn't the template repository.
42 | # 2. The step is currently 0.
43 | # Reference: https://docs.github.com/en/actions/learn-github-actions/contexts
44 | # Reference: https://docs.github.com/en/actions/learn-github-actions/expressions
45 | if: >-
46 | ${{ !github.event.repository.is_template
47 | && needs.get_current_step.outputs.current_step == 0 }}
48 |
49 | # We'll run Ubuntu for performance instead of Mac or Windows.
50 | runs-on: ubuntu-latest
51 |
52 | steps:
53 | # We'll need to check out the repository so that we can edit the README.
54 | - name: Checkout
55 | uses: actions/checkout@v4
56 | with:
57 | fetch-depth: 0 # Let's get all the branches.
58 |
59 | - name: Create my-pages branch, initial Pages files, and pull request
60 | run: |
61 | echo "Make sure we are on step 0"
62 | if [ "$(cat .github/steps/-step.txt)" != 0 ]
63 | then
64 | echo "Current step is not 0"
65 | exit 0
66 | fi
67 |
68 | echo "Make a branch"
69 | BRANCH=my-pages
70 | git checkout -b $BRANCH
71 |
72 | echo "Create config and homepage files"
73 | touch _config.yml
74 | printf "%s\n%s\n%s\n\n" "---" "title: Welcome to my blog" "---" > index.md
75 |
76 | echo "Make a commit"
77 | git config user.name github-actions[bot]
78 | git config user.email github-actions[bot]@users.noreply.github.com
79 | git add _config.yml index.md
80 | git commit --message="Create config and homepages files"
81 |
82 | echo "Push"
83 | git push --set-upstream origin $BRANCH
84 | env:
85 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
86 |
87 | # In README.md, switch step 0 for step 1.
88 | - name: Update to step 1
89 | uses: skills/action-update-step@v2
90 | with:
91 | token: ${{ secrets.GITHUB_TOKEN }}
92 | from_step: 0
93 | to_step: 1
94 | branch_name: my-pages
95 |
--------------------------------------------------------------------------------
/.github/workflows/1-enable-github-pages.yml:
--------------------------------------------------------------------------------
1 | name: Step 1, Enable GitHub Pages
2 |
3 | # This step triggers after we run a pages build.
4 | # This workflow updates from step 1 to step 2.
5 |
6 | # This will run every time we run a pages build.
7 | # Reference: https://docs.github.com/en/actions/learn-github-actions/events-that-trigger-workflows
8 | on:
9 | workflow_dispatch:
10 | page_build:
11 |
12 | # Reference: https://docs.github.com/en/actions/security-guides/automatic-token-authentication
13 | permissions:
14 | # Need `contents: read` to checkout the repository.
15 | # Need `contents: write` to update the step metadata.
16 | contents: write
17 |
18 | jobs:
19 | # Get the current step to only run the main job when the learner is on the same step.
20 | get_current_step:
21 | name: Check current step number
22 | runs-on: ubuntu-latest
23 | steps:
24 | - name: Checkout
25 | uses: actions/checkout@v4
26 | - id: get_step
27 | run: |
28 | echo "current_step=$(cat ./.github/steps/-step.txt)" >> $GITHUB_OUTPUT
29 | outputs:
30 | current_step: ${{ steps.get_step.outputs.current_step }}
31 |
32 | on_enable_github_pages:
33 | name: On enable github pages
34 | needs: get_current_step
35 |
36 | # We will only run this action when:
37 | # 1. This repository isn't the template repository.
38 | # 2. The step is currently 1.
39 | # Reference: https://docs.github.com/en/actions/learn-github-actions/contexts
40 | # Reference: https://docs.github.com/en/actions/learn-github-actions/expressions
41 | if: >-
42 | ${{ !github.event.repository.is_template
43 | && needs.get_current_step.outputs.current_step == 1 }}
44 |
45 | # We'll run Ubuntu for performance instead of Mac or Windows.
46 | runs-on: ubuntu-latest
47 |
48 | steps:
49 | # We'll need to check out the repository so that we can edit the README.
50 | - name: Checkout
51 | uses: actions/checkout@v4
52 | with:
53 | fetch-depth: 0 # Let's get all the branches.
54 | ref: my-pages
55 |
56 | # In README.md, switch step 1 for step 2.
57 | - name: Update to step 2
58 | uses: skills/action-update-step@v2
59 | with:
60 | token: ${{ secrets.GITHUB_TOKEN }}
61 | from_step: 1
62 | to_step: 2
63 | branch_name: my-pages
64 |
--------------------------------------------------------------------------------
/.github/workflows/2-configure-your-site.yml:
--------------------------------------------------------------------------------
1 | name: Step 2, Configure your site
2 |
3 | # This step triggers after the learner update their Pages config file.
4 | # This workflow updates from step 2 to step 3.
5 |
6 | # This will run every time we update `_config.yml` in the `my-pages` branch.
7 | # Reference: https://docs.github.com/en/actions/learn-github-actions/events-that-trigger-workflows
8 | on:
9 | workflow_dispatch:
10 | push:
11 | branches:
12 | - my-pages
13 | paths:
14 | - _config.yml
15 |
16 | # Reference: https://docs.github.com/en/actions/security-guides/automatic-token-authentication
17 | permissions:
18 | # Need `contents: read` to checkout the repository.
19 | # Need `contents: write` to update the step metadata.
20 | contents: write
21 |
22 | jobs:
23 | # Get the current step to only run the main job when the learner is on the same step.
24 | get_current_step:
25 | name: Check current step number
26 | runs-on: ubuntu-latest
27 | steps:
28 | - name: Checkout
29 | uses: actions/checkout@v4
30 | - id: get_step
31 | run: |
32 | echo "current_step=$(cat ./.github/steps/-step.txt)" >> $GITHUB_OUTPUT
33 | outputs:
34 | current_step: ${{ steps.get_step.outputs.current_step }}
35 |
36 | on_config_update:
37 | name: On config update
38 | needs: get_current_step
39 |
40 | # We will only run this action when:
41 | # 1. This repository isn't the template repository.
42 | # 2. The step is currently 2.
43 | # Reference: https://docs.github.com/en/actions/learn-github-actions/contexts
44 | # Reference: https://docs.github.com/en/actions/learn-github-actions/expressions
45 | if: >-
46 | ${{ !github.event.repository.is_template
47 | && needs.get_current_step.outputs.current_step == 2 }}
48 |
49 | # We'll run Ubuntu for performance instead of Mac or Windows.
50 | runs-on: ubuntu-latest
51 |
52 | steps:
53 | # We'll need to check out the repository so that we can edit the README.
54 | - name: Checkout
55 | uses: actions/checkout@v4
56 | with:
57 | fetch-depth: 0 # Let's get all the branches.
58 | ref: my-pages
59 |
60 | # In README.md, switch step 2 for step 3.
61 | - name: Update to step 3
62 | uses: skills/action-update-step@v2
63 | with:
64 | token: ${{ secrets.GITHUB_TOKEN }}
65 | from_step: 2
66 | to_step: 3
67 | branch_name: my-pages
68 |
--------------------------------------------------------------------------------
/.github/workflows/3-customize-your-homepage.yml:
--------------------------------------------------------------------------------
1 | name: Step 3, Customize your homepage
2 |
3 | # This step triggers after the learner updates their homepage.
4 | # This workflow updates from step 3 to step 4.
5 |
6 | # This will run every time we update `index.md` in the `my-pages` branch.
7 | # Reference: https://docs.github.com/en/actions/learn-github-actions/events-that-trigger-workflows
8 | on:
9 | workflow_dispatch:
10 | push:
11 | branches:
12 | - my-pages
13 | paths:
14 | - index.md
15 |
16 | # Reference: https://docs.github.com/en/actions/security-guides/automatic-token-authentication
17 | permissions:
18 | # Need `contents: read` to checkout the repository.
19 | # Need `contents: write` to update the step metadata.
20 | contents: write
21 |
22 | jobs:
23 | # Get the current step to only run the main job when the learner is on the same step.
24 | get_current_step:
25 | name: Check current step number
26 | runs-on: ubuntu-latest
27 | steps:
28 | - name: Checkout
29 | uses: actions/checkout@v4
30 | - id: get_step
31 | run: |
32 | echo "current_step=$(cat ./.github/steps/-step.txt)" >> $GITHUB_OUTPUT
33 | outputs:
34 | current_step: ${{ steps.get_step.outputs.current_step }}
35 |
36 | on_homepage_update:
37 | name: On homepage update
38 | needs: get_current_step
39 |
40 | # We will only run this action when:
41 | # 1. This repository isn't the template repository.
42 | # 2. The step is currently 3.
43 | # Reference: https://docs.github.com/en/actions/learn-github-actions/contexts
44 | # Reference: https://docs.github.com/en/actions/learn-github-actions/expressions
45 | if: >-
46 | ${{ !github.event.repository.is_template
47 | && needs.get_current_step.outputs.current_step == 3 }}
48 |
49 | # We'll run Ubuntu for performance instead of Mac or Windows.
50 | runs-on: ubuntu-latest
51 |
52 | steps:
53 | # We'll need to check out the repository so that we can edit the README.
54 | - name: Checkout
55 | uses: actions/checkout@v4
56 | with:
57 | fetch-depth: 0 # Let's get all the branches.
58 | ref: my-pages
59 |
60 | # In README.md, switch step 3 for step 4.
61 | - name: Update to step 4
62 | uses: skills/action-update-step@v2
63 | with:
64 | token: ${{ secrets.GITHUB_TOKEN }}
65 | from_step: 3
66 | to_step: 4
67 | branch_name: my-pages
68 |
--------------------------------------------------------------------------------
/.github/workflows/4-create-a-blog-post.yml:
--------------------------------------------------------------------------------
1 | name: Step 4, Create a blog post
2 |
3 | # This step triggers after the learner creates a blog post.
4 | # This workflow updates from step 4 to step 5.
5 |
6 | # This will run every time we update a .md file in `_posts/` in the `my-pages` branch.
7 | # Reference: https://docs.github.com/en/actions/learn-github-actions/events-that-trigger-workflows
8 | on:
9 | workflow_dispatch:
10 | push:
11 | branches:
12 | - my-pages
13 | paths:
14 | - _posts/*.md
15 |
16 | # Reference: https://docs.github.com/en/actions/security-guides/automatic-token-authentication
17 | permissions:
18 | # Need `contents: read` to checkout the repository.
19 | # Need `contents: write` to update the step metadata.
20 | contents: write
21 |
22 | jobs:
23 | # Get the current step to only run the main job when the learner is on the same step.
24 | get_current_step:
25 | name: Check current step number
26 | runs-on: ubuntu-latest
27 | steps:
28 | - name: Checkout
29 | uses: actions/checkout@v4
30 | - id: get_step
31 | run: |
32 | echo "current_step=$(cat ./.github/steps/-step.txt)" >> $GITHUB_OUTPUT
33 | outputs:
34 | current_step: ${{ steps.get_step.outputs.current_step }}
35 |
36 | on_create_blog_post:
37 | name: On create blog post
38 | needs: get_current_step
39 |
40 | # We will only run this action when:
41 | # 1. This repository isn't the template repository.
42 | # 2. The step is currently 4.
43 | # Reference: https://docs.github.com/en/actions/learn-github-actions/contexts
44 | # Reference: https://docs.github.com/en/actions/learn-github-actions/expressions
45 | if: >-
46 | ${{ !github.event.repository.is_template
47 | && needs.get_current_step.outputs.current_step == 4 }}
48 |
49 | # We'll run Ubuntu for performance instead of Mac or Windows.
50 | runs-on: ubuntu-latest
51 |
52 | steps:
53 | # We'll need to check out the repository so that we can edit the README.
54 | - name: Checkout
55 | uses: actions/checkout@v4
56 | with:
57 | fetch-depth: 0 # Let's get all the branches.
58 | ref: my-pages
59 |
60 | # In README.md, switch step 4 for step 5.
61 | - name: Update to step 5
62 | uses: skills/action-update-step@v2
63 | with:
64 | token: ${{ secrets.GITHUB_TOKEN }}
65 | from_step: 4
66 | to_step: 5
67 | branch_name: my-pages
68 |
--------------------------------------------------------------------------------
/.github/workflows/5-merge-your-pull-request.yml:
--------------------------------------------------------------------------------
1 | name: Step 5, Merge your pull request
2 |
3 | # This step triggers after a pull requst is merged to `main`.
4 | # This workflow updates from step 5 to step X.
5 |
6 | # This will run every time we create push a commit to `main`.
7 | # Reference: https://docs.github.com/en/actions/learn-github-actions/events-that-trigger-workflows
8 | on:
9 | workflow_dispatch:
10 | push:
11 | branches:
12 | - main
13 |
14 | # Reference: https://docs.github.com/en/actions/security-guides/automatic-token-authentication
15 | permissions:
16 | # Need `contents: read` to checkout the repository.
17 | # Need `contents: write` to update the step metadata.
18 | contents: write
19 |
20 | jobs:
21 | # Get the current step to only run the main job when the learner is on the same step.
22 | get_current_step:
23 | name: Check current step number
24 | runs-on: ubuntu-latest
25 | steps:
26 | - name: Checkout
27 | uses: actions/checkout@v4
28 | - id: get_step
29 | run: |
30 | echo "current_step=$(cat ./.github/steps/-step.txt)" >> $GITHUB_OUTPUT
31 | outputs:
32 | current_step: ${{ steps.get_step.outputs.current_step }}
33 |
34 | on_merge:
35 | name: On merge
36 | needs: get_current_step
37 |
38 | # We will only run this action when:
39 | # 1. This repository isn't the template repository.
40 | # 2. The step is currently 5.
41 | # Reference: https://docs.github.com/en/actions/learn-github-actions/contexts
42 | # Reference: https://docs.github.com/en/actions/learn-github-actions/expressions
43 | if: >-
44 | ${{ !github.event.repository.is_template
45 | && needs.get_current_step.outputs.current_step == 5 }}
46 |
47 | # We'll run Ubuntu for performance instead of Mac or Windows.
48 | runs-on: ubuntu-latest
49 |
50 | steps:
51 | # We'll need to check out the repository so that we can edit the README.
52 | - name: Checkout
53 | uses: actions/checkout@v4
54 | with:
55 | fetch-depth: 0 # Let's get all the branches.
56 |
57 | # In README.md, switch step 5 for step X.
58 | - name: Update to step X
59 | uses: skills/action-update-step@v2
60 | with:
61 | token: ${{ secrets.GITHUB_TOKEN }}
62 | from_step: 5
63 | to_step: X
64 | branch_name: my-pages
65 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Compiled source #
2 | ###################
3 | *.com
4 | *.class
5 | *.dll
6 | *.exe
7 | *.o
8 | *.so
9 |
10 | # Packages #
11 | ############
12 | # it's better to unpack these files and commit the raw source
13 | # git has its own built in compression methods
14 | *.7z
15 | *.dmg
16 | *.gz
17 | *.iso
18 | *.jar
19 | *.rar
20 | *.tar
21 | *.zip
22 |
23 | # Logs and databases #
24 | ######################
25 | *.log
26 | *.sql
27 | *.sqlite
28 |
29 | # OS generated files #
30 | ######################
31 | .DS_Store
32 | .DS_Store?
33 | ._*
34 | .Spotlight-V100
35 | .Trashes
36 | ehthumbs.db
37 | Thumbs.db
38 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) GitHub, Inc.
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
4 |
5 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
6 |
7 | THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
8 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
9 |
10 | # GitHub Pages
11 |
12 | _Create a site or blog from your GitHub repositories with GitHub Pages._
13 |
14 |
15 |
16 |
21 |
22 | ## Welcome
23 |
24 | With GitHub Pages, you can host project blogs, documentation, resumes, portfolios, or any other static content you'd like. Your GitHub repository can easily become its own website. In this course, we'll show you how to set up your own site or blog using GitHub Pages.
25 |
26 | - **Who is this for**: Beginners, students, project maintainers, small businesses.
27 | - **What you'll learn**: How to build a GitHub Pages site.
28 | - **What you'll build**: We'll build a simple GitHub Pages site with a blog. We'll use [Jekyll](https://jekyllrb.com), a static site generator.
29 | - **Prerequisites**: If you need to learn about branches, commits, and pull requests, take [Introduction to GitHub](https://github.com/skills/introduction-to-github) first.
30 | - **How long**: This course takes less than one hour to complete.
31 |
32 | In this course, you will:
33 |
34 | 1. Enable GitHub Pages
35 | 2. Configure your site
36 | 3. Customize your home page
37 | 4. Create a blog post
38 | 5. Merge your pull request
39 |
40 | ### How to start this course
41 |
42 |
52 |
53 | [](https://github.com/new?template_owner=skills&template_name=github-pages&owner=%40me&name=skills-github-pages&description=My+clone+repository&visibility=public)
54 |
55 | 1. Right-click **Start course** and open the link in a new tab.
56 | 2. In the new tab, most of the prompts will automatically fill in for you.
57 | - For owner, choose your personal account or an organization to host the repository.
58 | - We recommend creating a public repository, as private repositories will [use Actions minutes](https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions).
59 | - Scroll down and click the **Create repository** button at the bottom of the form.
60 | 3. After your new repository is created, wait about 20 seconds, then refresh the page. Follow the step-by-step instructions in the new repository's README.
61 |
62 |
76 |
--------------------------------------------------------------------------------