Creating a Personal Website with GitHub Pages

Author

Reads 1.2K

Shot of Computer Screen with Multicoloured Code
Credit: pexels.com, Shot of Computer Screen with Multicoloured Code

Creating a personal website with GitHub Pages is a great way to showcase your projects and skills online. GitHub Pages is a free service that allows you to host a website directly from your GitHub repository.

To get started, you'll need to create a GitHub account if you don't already have one. GitHub Pages supports Jekyll, a static site generator that makes it easy to create a website. With Jekyll, you can write your website's content in Markdown, a lightweight markup language.

You can create a new repository for your website by clicking the "New" button on the GitHub dashboard. Then, follow the prompts to create a new repository and select GitHub Pages as the source.

Setting Up

To set up your personal website on GitHub, you'll need to create a repository and configure GitHub Pages. Start by creating a new repository with a clear name, such as yourusername.github.io, and make sure it's public.

Credit: youtube.com, How to make a personal website with github pages

You can follow the getting started instructions to set up your site using GitHub Pages, which relies on Jekyll to author your blog posts in markdown and commit your changes with git. This will give you peace of mind knowing you have an original copy of your work with all the version history preserved.

Here are the steps to create a new repository:

  • Create a new repository by logging into GitHub and clicking the "+" icon in the top-right corner.
  • Choose "New repository" and give it a clear name like yourusername.github.io, replacing "yourusername" with your actual GitHub username.
  • Make sure it's public, add a README file, and click "Create repository".

Once your repository is created, you can configure GitHub Pages to host your site. To enable GitHub Pages, head to "Settings", scroll down to "GitHub Pages", change the "Source" to your repo's main/master branch, and click "Save". It may take a few minutes for your site to be live at https://yourusername.github.io.

Choosing a Username

Your GitHub username will be publicly visible and double as part of your website's URL, so choose wisely. Keep it simple, professional, and inoffensive - this represents your personal brand.

Avoid using your real name or anything inappropriate, as this will be visible to everyone. You can change it later if needed but your website URL will also change.

Make sure to check availability before finalizing your username. You can change it later if needed but the URL will also change.

Remember, your username will be part of your website's URL, so choose one that's easy to remember and type.

Creating a Repository

Credit: youtube.com, How to create your first GitHub repository: A beginner's guide | Tutorial

To create a new repository, log into GitHub and click the "+" icon in the top-right corner. Choose "New repository" and give it a clear name like yourusername.github.io, replacing "yourusername" with your actual GitHub username.

Make sure it's public, as this is recommended for a personal website. You can also add a README file to get started, which is a good practice when starting a new repository.

Here's a quick rundown of the steps to create a repository:

Your website files will live in this new repo, so make sure to name it correctly and set it to public.

Structuring Your Site

A well-organized site is a happy site. Start by creating a root folder, which is the topmost directory in your repository.

Your root folder should contain an index.html file, which serves as the homepage for your site. Add a README.md file to provide an introduction to your site.

As your site grows, you'll want to organize all the files properly. A common structure is to have a /pages folder for page HTML files, and an /assets folder for CSS, JS, and images.

Here's an interesting read: Css in Html File

Credit: youtube.com, How to Properly Layout A Website (For Beginners)

Put your page HTML files inside a /pages folder to keep things tidy. This is where you'll store files like about.html, blog.html, and contact.html.

You can also create a header and footer HTML snippet that gets included on each page for consistent nav and branding. This way, your site will have a cohesive look and feel.

A good example of a clean GitHub Pages structure is to have a /css folder for CSS files, a /js folder for JavaScript files, and an /images folder for images.

Dependencies

To set up your project, you'll need to ensure you have the right dependencies in place.

Ensure you have node >= v20.

You can use nvm to manage node versions, which can be super helpful for switching between different versions of Node.js.

Optionally, use nvm to manage node versions.

Al-Shedivat Al-Folio

Al-Shedivat Al-Folio is a beautiful, simple, clean, and responsive Jekyll theme for academics.

You can use Jekyll to build your personal website, just like Al-Shedivat Al-Folio. Jekyll is a static site generator that allows you to create a website from plain text files.

Person working remotely on laptop with smartphone nearby. Cozy home setting, lifestyle focus.
Credit: pexels.com, Person working remotely on laptop with smartphone nearby. Cozy home setting, lifestyle focus.

To get started, you'll need to create an index.html file that will serve as the homepage for your site. This file should contain some basic HTML, like a short bio, links to social profiles, and featured projects.

Al-Shedivat Al-Folio is a fully responsive personal portfolio website, responsive for all devices. This means that it will adapt to different screen sizes and devices, ensuring that your website looks great on any device.

Here are some common files you'll need to include in your repository:

  • index.html
  • README.md
  • /pages (folder containing about.html, blog.html, contact.html, etc.)
  • /assets (folder containing CSS, JS, and images)
  • styles.css (file containing site-wide styles)

You can also use a GitHub Pages theme to quickly add some styling to your site. For more advanced customization, you can use Sass, CSS frameworks, or tools like Tailwind CSS.

To customize and improve your site, consider adding a custom color scheme and branding, populating your site with custom text and images, and optimizing your content for search engines by using relevant keywords and speed optimizations.

For your interest: Host Django Site

Configuring Pages

Configuring GitHub Pages is a breeze. GitHub Pages is a free static web hosting service that hosts websites directly from GitHub repositories.

To enable GitHub Pages on your new repo, head to the "Settings" and scroll down to "GitHub Pages". Change the "Source" to your repo's main/master branch and click "Save". It may take a few minutes for your site to be live at https://yourusername.github.io.

Expand your knowledge: What Is Github Pages

Configuring Pages

Credit: youtube.com, How to Host a Website on GitHub Pages Free (Custom Domain Setup Included)

GitHub Pages is a free static web hosting service that hosts websites directly from GitHub repositories, automatically publishing new commits live.

To enable GitHub Pages on your new repository, head to the "Settings" page and scroll down to the "GitHub Pages" section.

Change the "Source" to your repo's main/master branch and click "Save". It may take a few minutes for your site to be live at https://yourusername.github.io.

GitHub Pages has two types of sites: Project Pages and User/Organization Pages. Since you're building a personal site, you'll use a User Page tied to your user account rather than a specific project repository.

Your site's content will live in the repo and automatically publish to https://yourusername.github.io.

Related reading: Project Web Page Design

Ikram Developer Portfolio

I've come across some great examples of developer portfolios that showcase their skills and projects. One such example is osamajavaid's portfolio, which is made with Nextjs and Tailwindcss.

It's open source, making it easily accessible to anyone who wants to learn from it.

Academicpages offers a Github Pages template based on HTML and Markdown for personal, portfolio-based websites. This is a great starting point for anyone looking to create a simple and effective portfolio.

By using Nextjs and Tailwindcss, osamajavaid's portfolio is responsive and visually appealing.

Curious to learn more? Check out: Web Designs Portfolio

Adding Site Features

Credit: youtube.com, Host website on github for free in just 2 mins

Let's talk about adding site features to your personal website on GitHub.

Create an about.html page to share your story, skills, experience, education, and interests. This is a great way to give visitors a sense of who you are and what you do.

Consider adding a short bio to your homepage, along with links to social profiles and featured projects. This will help visitors quickly get a feel for what your site is about.

A contact page is handy for providing ways for visitors to get in touch, like an email address, contact form, or social profiles. This will make it easy for people to reach out to you.

You can also create a blog page to demonstrate your work and showcase your projects. This will give visitors a sense of your skills and experience.

A portfolio page is similar to a blog, but it's more focused on showcasing your projects and achievements. This is a great way to demonstrate your expertise and attract potential clients or collaborators.

Take a look at this: Web Programming Skills

Deploying to GitHub

Credit: youtube.com, How to Deploy Your Personal Website Using GitHub Pages - Step-by-Step Tutorial

To deploy your personal website to GitHub, you'll need to update the environment variables and Git remote URL in the .github/workflows/github-pages.yml file.

You'll also need to enable GitHub Actions and Pages for your repository. This will allow automatic deployment of your site when you push changes to the main branch.

To do this, you'll need to push your changes to the main branch. This can be done with the following commands: git add .git commit -m "Deploy to GitHub Pages"git push origin main

By enabling GitHub Pages on the main/master branch of your repository, you'll be able to automatically deploy changes to your site.

Customization and Setup

You can add a custom color scheme and branding that matches your personality using tools like Coolors for palettes.

Populate your site with custom text, images, projects, and blog posts to make the content your own. This will help you stand out and showcase your personality.

Credit: youtube.com, Build your professional webpage - Tutorial (github pages Minimal Mistakes Jekyll theme)

Consider buying a custom domain and configuring it with GitHub Pages for a professional URL. Unicorn Platform provides free custom domains with their startup plans.

To optimize your content for search engines, use relevant keywords, quality content, and speed optimizations. Minify code, compress images, and cache assets to improve your site's performance.

Here are some key steps to follow for a well-structured site:

  • Put your page HTML files inside a /pages folder to keep things tidy.
  • Keep assets like CSS, JS, and images separate in an assets folder.
  • Have a header and footer HTML snippet that gets included on each page for consistent nav and branding.

Custom Domain Setup

Setting up a custom domain is a great way to give your project a more professional look. Popular domain registrars include GoDaddy, Google Domains, and Namecheap, which offer affordable .com, .net, and .org options.

You'll need to configure DNS settings with your registrar to point the domain to your GitHub Pages URL. GitHub has documentation on setting up a custom domain, so be sure to check it out.

For side projects and personal sites, RecommendedDomains.com is a great option with domains starting at $9 per year. This can be a cost-effective way to get a custom domain without breaking the bank.

Alternatives and Tools

Credit: youtube.com, Paying for software is stupid… 10 free and open-source SaaS replacements

I evaluated some alternatives to GitHub Pages for hosting my personal website, including Netlify, Azure Static Web Apps, and using the static site hosting capabilities of AWS S3 or Azure Storage.

Netlify and Azure Static Web Apps were considered due to experience with front-end JavaScript frameworks for SPAs like Create React App and Vue CLI, but these options seemed like overkill for a simple personal website.

Jekyll wasn't a priority to learn, as it's less likely to benefit my career compared to honing skills with these alternatives.

I was looking for a solution that would require the least effort to add new site content or change existing content, and GitHub Pages with Jekyll seemed to fit the bill.

Patricia Dach

Junior Copy Editor

Patricia Dach is a meticulous and detail-oriented Copy Editor with a passion for refining written content. With a keen eye for grammar and syntax, she ensures that articles are polished and error-free. Her expertise spans a range of topics, from technology to lifestyle, and she is well-versed in various style guides.

Love What You Read? Stay Updated!

Join our community for insights, tips, and more.