Getting Started with GitHub Pages

June 15, 2023 GitHub, Web Development

If you're looking for a free and easy way to host your personal website, portfolio, or project documentation, GitHub Pages is an excellent option. In this tutorial, I'll walk you through the process of setting up your own website using GitHub Pages, from creating a repository to customizing your site with HTML and CSS.

What is GitHub Pages?

GitHub Pages is a static site hosting service that takes HTML, CSS, and JavaScript files directly from a repository on GitHub, optionally runs the files through a build process, and publishes a website. It's completely free for public repositories and has a generous bandwidth allocation.

Step 1: Create a New Repository

To get started with GitHub Pages, you first need to create a new repository on GitHub. The repository name should follow the format username.github.io, where "username" is your GitHub username. This naming convention is important because it tells GitHub that this repository will be used for GitHub Pages.

For example, my repository is named teal33t.github.io because my GitHub username is "teal33t".

Step 2: Clone the Repository

Once you've created the repository, clone it to your local machine using Git:

git clone https://github.com/username/username.github.io.git

Replace "username" with your actual GitHub username.

Step 3: Create a Basic HTML Page

Now it's time to create your website. Let's start with a simple index.html file:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>My GitHub Pages Site</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <div class="container">
        <h1>Hello, GitHub Pages!</h1>
        <p>This is my first GitHub Pages website.</p>
    </div>
</body>
</html>

Step 4: Add Some CSS

Create a styles.css file to add some basic styling to your website:

body {
    font-family: Arial, sans-serif;
    line-height: 1.6;
    margin: 0;
    padding: 0;
    background-color: #f4f4f4;
}

.container {
    width: 80%;
    margin: 0 auto;
    padding: 30px;
}

h1 {
    color: #333;
}

p {
    color: #666;
}

Step 5: Commit and Push Your Changes

Add your files to the repository, commit them, and push them to GitHub:

git add .
git commit -m "Initial commit"
git push origin main

Step 6: Enable GitHub Pages

To enable GitHub Pages for your repository:

  1. Go to your repository on GitHub
  2. Click on "Settings"
  3. Scroll down to the "GitHub Pages" section
  4. Under "Source", select the branch you want to use (usually "main")
  5. Click "Save"

GitHub will provide you with a link to your published site, which will be in the format https://username.github.io.

Step 7: Customize Your Site

Now that your basic site is up and running, you can continue to customize it by adding more HTML pages, CSS styles, JavaScript functionality, and even using frameworks like Bootstrap for responsive design.

If you want to take it a step further, you can also use static site generators like Jekyll (which is supported by GitHub Pages by default), Hugo, or Gatsby to create more complex websites with features like blog posts, templates, and more.

Conclusion

GitHub Pages is a powerful platform for hosting static websites, and it's completely free. Whether you're creating a personal portfolio, a project documentation site, or a simple blog, GitHub Pages provides an easy and efficient way to get your content online.

In future posts, I'll explore more advanced topics like custom domains, using Jekyll with GitHub Pages, and implementing a blog system. Stay tuned!

Saman Esmaeil
Saman Esmaeil
Software Developer specializing in web development and automation solutions.
Back to Blog