How do I get my Free Blog

There are a couple of options for getting your own hosted blog site up and running.

If you are still not sure why you should start blogging see my 5 reasons post.

Wait! Is this going to be all technical?

Yes, this will get technical and if this is not comfortable for you then I would recommend going with the WordPress.com free site.

You can always move from the WordPress site to the GitHub Page blog as I did.

Before you ultimately decide, let me ask you a couple of questions.

Are you working as a developer or aspire to become one?

Or are you working in any technical computer job or even with a technical team?

If yes then I highly recommend the GitHub Pages option as it will expose you to some tools and process you should start to get familiar with.

In this post, I will cover how to start a blog for free using GitHub Pages. Before I jump into that I will provide you with some basic information on the WordPress option I mentioned.

WordPress

To be clear there are two distinct WordPress sites, WordPress.com and WordPress.org site. The latter is home of the open source software and would require you to find a place to host the site like GoDaddy.com

On the WordPress.com you may create a free blog that you can later upgrade to paid versions with more functionality. This is where I originally started.

If you want to learn more about the differences between the WordPress sites here is a good article.

So if you don’t want to deal with anything more technical than absolutely necessary then this will work just fine.

GitHub Pages

GitHub Pages are a free hosting service that is provided by GitHub for Git repositories hosted on their site.

This has a little more complexity to set up and will be worth the time.

Great, but what is GitHub, and what is a Git repository?

These are great questions! Let’s go over some basics.

If you already are familiar with these then jump to where all the action starts!

What is Git

So let’s start with Git, which is a tool to version control files. These can be any type of files. The great thing about this tool is the ability to work in a distributed fashion. What this means is that you can work on your project and keep track of all changes on your own computer and synch them back to a remote location, like the GitHub website.

When you work with your files you keep them in a repository for safe keeping.

There is a lot you can dive into with Git and you only need the basics to use GitHub Pages. If you want to learn more check out Git and version control check out this site.

What is GitHub

GitHub is a company that provides services for managing Git repositories. The features that you will need are all free.

You can read this older article on how they make their money and are able to offer these free services.

Many IT Professionals and Open Source Projects use GitHub free repositories to share their work.

Tell me about these GitHub Pages

GitHub Pages is a website hosting service that you can use for an individual, organization, or project where the content is maintained in a public Git repository on the GitHub site.

The only limitation is that the site is a static site which means there will be no code running on the web server. The only code that can work is what the web browser would be able to run.

Great so what type of code can it work with? Wait do I have to know how to write code too??

Ah, don’t worry you will not have to learn how to code to get your site up and running. You can copy what I have or another theme and just update some settings like your name and start blogging!

Let’s do this

Great you have made it this far and decided to go with the GitHub pages!

Here is what we will cover to get your blog up and running.

  • Create a GitHub Account
  • Setup the GitHub repository
  • Verify the Blog is up and running
  • Update Blog settings

Create a GitHub account

Follow the steps in the images below to create your GitHub account.

Step 1.) Create username for a GitHub account. Step 2.) Prove you are a person signing up for an account. Step 3.) Select the Free plan. Step 4.) Select your interests. Step 5.) You are now ready to create a new repository. Step 6.) If you have any issues be sure to verify your GitHub account in your email.

Setup the GitHub repository

In this step, you will copy a repository with the blog site code. This will allow you to change the settings and start your blog quickly.

To get a working copy we are going to fork a repository I created that has the blog code ready to go.

Step 1.) Go to aaronralls/Blog on GitHub. Step 2.) Click the Fork button on the top right of the page. Step 3.) Wait for the process to complete. Step 4.) The repo will now be under your account name. Step 5.) Click the Settings tab. Step 6.) Wait for the settings to load. Step 7.) Change the repository name to yourusername.github.io and click the Rename button.

Update Blog settings

These are the things you will need to change to complete the minimal setup.

For simplicity, we will make these changes from the GitHub web page vs a code editor.

I will cover how you can work with your blog on your local computer in another post.

  • Main config file _config.yml
    • Title
    • Name
    • Repository
    • URL
    • Production URL
    • GitHub Username
    • Default Author name
Step 1.) Go to the repository code page. Step 2.) Scroll down to find the _config.ym file and click the file name. Step 3.) Select the pencil button to edit the file. Step 4.) Update the following values, name, email, repository, URL, prod_url, github_username. Step 5.) Scroll down and update the author value. Step 6.) Click the green Commit changes button to save the updates.

Verify the Blog is up and running

Now that we have copied the repository lets make sure it works from the get-go.

Step 1.) Click the Settings tab. Step 2.) Scroll down to the GitHub Pages section. You may see the site is ready to be published message. This means it's building. Step 3.) When successfully build you will see a message that your site is published. Click the link to your blog. Step 4.) Very your site loads and that the changes you made to the _config.yml are correct.

Update About Page

Now that you have verified your blog is running using the basic configurations you need to update the about page content.

You can find the content in the root directory of the repository in the about.md file.

Edit this in the same way you did the _config.yml file.

All you need for now is a paragraph about yourself and what you will be blogging about. If you aren’t sure look at mine.

If you have not worked with markdown before here is a good source or go to my blog repository and look at some of my posts.

The sample about page includes a default image file called me.jpg. This file can be found under /assets/images/about in your blog repository.

The fastest way to update this is to delete the file and upload your own with the same name.

You can delete any file by clicking on the file in the repository. Then there will be a trashcan button you can use to delete the file. After you click the trashcan scroll down and click the green commit button.

Delete File

To upload a new image, use the upload files button.

Upload Files Button

Update First Post

The last thing you need to do is update what you would like to tell the world in your first post.

This can be short and sweet.

If you are stuck check out these two articles!

The file you will want to edit is /_posts/2019-01-13-first-blog-post.md.

At the top of the file are some configuration settings that are referred to as front matter. You will want to update the dates.

In addition, update the date in the file name to reflect the date you are starting your blog. You can change this when you are in edit mode.

Since you have updated the dates you need to create a new image folder for the new blog date. If you decided to keep the dates then you are all set.

What I do is create a folder for each post and use a date format to name them, like YYYYMMDD. The simplest way to create a new folder for the images is to navigate over to the /assets/images. Then click the Create new file button. This will let you put the file name and optionally create new folders.

Type in the date and a /.

New Folder Step 1

Then you will have to create a file. You can name it anything you like.

New Folder Step 2

I used test.txt.

New Folder Step 3

Now that you have a new folder you can upload the images.

I always have at least three images:

  • My Header
  • Image for FaceBook links
  • Image for Twitter links

Default Post Images

Parting Thoughts - Blog Away

Great now you have a cool and free blog!

Your next step is to plan your next blog post. Set a deadline and time to work on it!

Stay tuned for upcoming posts on how you can add a custom domain name and guidelines for each post.