On September 1, 2022, GitHub Learning Lab will shut down.
Read more on the GitHub blog and check out GitHub Skills for courses backed by GitHub Actions.
See an up-to-date option for this page.

GitHub Pages

Learn how to create a site or blog from your GitHub repositories with GitHub Pages.

Start free course Join 35673 others!

social preview

Did you know you can host your personal, organization, and project sites on GitHub? With GitHub Pages, you can quickly create a site from your GitHub repositories—a great way to share static content related to your repository like resumes, portfolios, and project blogs.

If you're new to GitHub Pages, or you want to learn how to build and host a GitHub Pages site, you're in the right place. With GitHub Pages, you can host content like documentation, resumes, or any other static content that you’d like.

What you'll learn

In this course, you’ll learn how to:

  • Enable GitHub Pages
  • Choose a theme with Jekyll
  • Use YAML front matter
  • Customize your site
  • Create and edit blog posts

You'll know the answers to questions like:

  • What is GitHub pages?
  • How do I make sites with GitHub Pages?
  • How do I create my own blog?

What you'll build

In this course, you'll build a simple personal blog site with GitHub Pages. You'll be able to add posts and share your blog with anyone.

Screenshot_2021-04-07 Welcome to my blog


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. We'll assume you know what blogs are and how they work.

Projects used


This is a great beginner course. If you're wanting to run your own blog, personal site, project site, or portfolio, this is the best course for you. This is a wonderful course for students, project maintainers, and small businesses.

Steps to complete this course 7
  1. Generate a GitHub Pages site

    Generate a GitHub Pages site with the automatic page generator.

  2. Customize your homepage

    Open a pull request with changes to the homepage.

  3. Merge your pull request

    Merge the pull request that customizes your homepage.

  4. Customize site details

    Edit the configuration file to display your information.

  5. Create a blog post

    Create a new file that will become your first blog post.

  6. Add blog post metadata

    Add YAML front matter to the blog post to display the title and date.

  7. Merge your first post

    Merge the pull request so your blog post will appear on your GitHub Pages site.

GitHub Pages
Share GitHub Pages
Average time to complete

37 minutes


All public courses on Learning Lab are free.

Latest release

Learning Paths that include this course

Users who took this course also took

What is GitHub Learning Lab?

Learn new skills by completing fun, realistic projects in your very own GitHub repository.

Ready to start learning?

Start GitHub Pages