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
GitHub Pages lets you turn your repository into a website. This is a great way to share your project, resume, portfolio, documentation, or even a blog with the world.
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.
Open this repository in a new browser tab so you can work on the steps while you read the instructions in this tab.
Under your repository name, click Settings.
Click Pages in the Code and automation section.
Ensure Deploy from a branch is selected from the Source drop-down menu, and then select main from the Branch drop-down menu.
Click the Save button.
With GitHub Pages enabled Mona will be preparing the next step in this exercise!
Having trouble? π€·
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.
You can see the link to your website at the top of the Pages section of your repository settings (you may need to refresh it)
Tip
Keep your GitHub Pages website open in a separate browser tab and keep it handy!
As you progress through this exercise, you'll see your changes reflected on your live site.
π Theory: Customizing your homepage
You can customize your homepage by adding content to index.md file. As you commit it to the main branch your website will be updated to display your personalized content!
β¨οΈ Activity: Create your homepage
Browse to the index.md file in the main branch.
In the upper right corner, open the file editor.
Type the content you want on your homepage. You can use Markdown formatting on this page.
(optional) You can also modify title: or leave it as it is.
Commit your changes to the main branch.
As you commit your changes Mona will prepare the next step in this exercise!
Having trouble? π€·
Make sure you are editing the index.md file in the main branch.
It's time we give it a little bit of configuration so it looks nice!
π Theory: Jekyll and _config.yml
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. Learn more in the Jekyll configuration documentation.
For this activity, we will use a blog-ready theme named "minima".
β¨οΈ Activity: Configure your site
Browse to the _config.yml file in the main branch.
In the upper right corner, open the file editor.
Add a theme: set to minima so it shows in the _config.yml file as below:
theme: minima
(optional) You can modify the other configuration variables such as title:, author:, and description: to further customize your site.
Example
theme: minimatitle: Theo-Geo's personal blogdescription: This is where I share cool stuff about my lifeauthor: Theo-Geo
Commit your changes to the main branch.
As you commit your changes Mona will prepare the next step in this exercise!
Having trouble? π€·
Make sure you are editing the _config.yml file in the main branch`.
Double-check your YAML formatting. Indentation and colons matter!
Jekyll uses specially named files and frontmatter to create blog posts. The files must be named _posts/YYYY-MM-DD-title.md and must include title and date in the front matter.
Front matter is a yaml section at the top of your file that looks like this:
---
title: "Welcome to my blog"date: 2025-05-15
---
Click the Add file dropdown menu and then on Create new file.
Name the file following the _posts/YYYY-MM-DD-title.md format.
Replace the YYYY-MM-DD with today's date, and change the title of your first blog post if you'd like.
If you do edit the title, make sure there are hyphens (-) between your words.
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".
Type the following content at the top of your blog post:
---
title: "YOUR-TITLE"date: YYYY-MM-DD
---
Replace YOUR-TITLE with the title for your blog post.
Replace YYYY-MM-DD with today's date.
Type a quick draft of your blog post. Remember, you can always edit it later.
Commit your changes to the main branch.
As you commit your changes Mona will prepare the next step in this exercise!
Having trouble? π€·
Double-check your file name and date format.
Make sure your frontmatter is at the very top of the file and formatted correctly.
Activity
github-actions commentedon Jun 9, 2026
Step 1: Enable GitHub Pages
π Theory: What is GitHub Pages?
GitHub Pages lets you turn your repository into a website. This is a great way to share your project, resume, portfolio, documentation, or even a blog with the world.
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.
Note
Learn more in the GitHub Pages documentation.
β¨οΈ Activity: Enable GitHub Pages
Open this repository in a new browser tab so you can work on the steps while you read the instructions in this tab.
Under your repository name, click Settings.
Click Pages in the Code and automation section.
Ensure Deploy from a branch is selected from the Source drop-down menu, and then select
mainfrom the Branch drop-down menu.Click the Save button.
With GitHub Pages enabled Mona will be preparing the next step in this exercise!
Having trouble? π€·
github-actions commentedon Jun 9, 2026
Please, follow the steps above.
I'll watch your progress in the background to provide feedback. π§
github-actions commentedon Jun 9, 2026
πππ Nice work! Everything is perfect! πππ
Preparing content for step 2! One moment... π€
github-actions commentedon Jun 9, 2026
Step 2: Customize your homepage
Good job! You turned on GitHub Pages! π
You can see the link to your website at the top of the Pages section of your repository settings (you may need to refresh it)
Tip
Keep your GitHub Pages website open in a separate browser tab and keep it handy!
As you progress through this exercise, you'll see your changes reflected on your live site.
π Theory: Customizing your homepage
You can customize your homepage by adding content to
index.mdfile. As you commit it to themainbranch your website will be updated to display your personalized content!β¨οΈ Activity: Create your homepage
index.mdfile in themainbranch.title:or leave it as it is.mainbranch.Having trouble? π€·
index.mdfile in themainbranch.github-actions commentedon Jun 9, 2026
Please, follow the steps above.
I'll watch your progress in the background to provide feedback. π§
github-actions commentedon Jun 9, 2026
πππ Nice work! Everything is perfect! πππ
Preparing content for step 3! One moment... π€
github-actions commentedon Jun 9, 2026
Step 3: Configure your site
Nice work updating your home page β¨
It's time we give it a little bit of configuration so it looks nice!
π Theory: Jekyll and _config.yml
Jekyll uses a file titled
_config.ymlto store settings for your site, your theme, and reusable content like your site title and GitHub handle. Learn more in the Jekyll configuration documentation.For this activity, we will use a blog-ready theme named "minima".
β¨οΈ Activity: Configure your site
Browse to the
_config.ymlfile in themainbranch.In the upper right corner, open the file editor.
Add a
theme:set to minima so it shows in the_config.ymlfile as below:(optional) You can modify the other configuration variables such as
title:,author:, anddescription:to further customize your site.Example
Commit your changes to the
mainbranch.As you commit your changes Mona will prepare the next step in this exercise!
Having trouble? π€·
_config.ymlfile in themainbranch`.github-actions commentedon Jun 9, 2026
Step 3 - Passed β
github-actions commentedon Jun 9, 2026
πππ Nice work! Everything is perfect! πππ
Preparing content for step 4! One moment... π€
github-actions commentedon Jun 9, 2026
Step 4: Create a blog post
Your home page is looking great! π€
π Theory: Jekyll blog posts and frontmatter
Jekyll uses specially named files and frontmatter to create blog posts. The files must be named
_posts/YYYY-MM-DD-title.mdand must includetitleanddatein the front matter.Front matter is a yaml section at the top of your file that looks like this:
Note
Learn more in the Jekyll frontmatter documentation.
β¨οΈ Activity: Create a blog post
Browse to the
mainbranch.Click the
Add filedropdown menu and then onCreate new file.Name the file following the
_posts/YYYY-MM-DD-title.mdformat.Replace the
YYYY-MM-DDwith today's date, and change thetitleof your first blog post if you'd like.Type the following content at the top of your blog post:
YOUR-TITLEwith the title for your blog post.YYYY-MM-DDwith today's date.Type a quick draft of your blog post. Remember, you can always edit it later.
Commit your changes to the
mainbranch.As you commit your changes Mona will prepare the next step in this exercise!
Having trouble? π€·
github-actions commentedon Jun 9, 2026
Please, follow the steps above.
I'll watch your progress in the background to provide feedback. π§