
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.
A different take: Personal Website Locked Github Pages
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.
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.
Related reading: Do It Yourself Web Page Design
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.
Additional reading: How to Inspect Element and Change Text
Creating a Repository
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
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.
Intriguing read: Personal Website Locked Github Pages Template
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.
Worth a look: How to Use Inspect Element to Find Answers
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.

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
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
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
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.
Discover more: How to Make a Website Using Html and Css
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.
Worth a look: Custom Web Programming
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.
Worth a look: Custom Web Software Development
Alternatives and Tools
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.
Related reading: Text Content Does Not Match Server-rendered Html
Featured Images: pexels.com

