Build a free blog/website with Github
Tags: blog, github, markdown, showdev
Published: 2020-07-02 12:55:36

---
title: Build a free blog/website with Github
published: true
description: Learn how to create your own blog with Github and Markdown
tags: blog,github,markdown,showdev
cover_image: https://miro.medium.com/max/2560/1*UBPbXxCACLSygvXutPPGSA.jpeg
---

# Motivation
Own your blog can help you to develop **your personal brand**. Of course, It will never replace community blog platform like dev.to or medium but it makes it easier to post on more personal topics.

## The provider jungle
There are a ton of providers which can help you to build your blog, but as developer I would point out the **Github pages** solution. A professional tool, which will allow you to evolve freely while keeping control over your posts. Moreover, because we are lazy **we will choose a no code solution!**

## Markdown = Independence
Many blogging platforms use Markdown as their primary blog posting format. Writing your posts with **Markdown** is super easy and allows you to quickly move your posts and get away from html/css formatting issues.

## Start to build
Go to this amazing Github project: [Jekyll-now](https://github.com/barryclark/jekyll-now). 
**Jekyll** is a static site generator ideal for GitHub hosted blogs. 
**Jekyll Now** makes it easier to create your Jekyll blog, by eliminating the up front setup.


- Fork the project
![Fork](https://dev-to-uploads.s3.amazonaws.com/i/lq2ynhzu2zj1taltsibm.png)

- Update your repository name in settings
![Setting name](https://dev-to-uploads.s3.amazonaws.com/i/gtdhiyv7mcnsn91hmeps.png)

- Activate the Github pages feature
![Github pages](https://dev-to-uploads.s3.amazonaws.com/i/s4p8ds4uxq477rf7ypz0.png)

- Update the baseurl `/blog` in `_config.yml`
![update _config.yml](https://dev-to-uploads.s3.amazonaws.com/i/c44v1tfe15s5ongxdnek.png)

Wait a minute and visit: https://yourgithubusername.github.io/blog

# Hack your blog
```
git clone https://github.com/YOURNAME/blog.git
```

Add your post in Markdown under the `_posts` folder with the name: `YYYY-MM-DD-title.md`

```
---
layout: post
title: First demo blog post!
published: true
tags: demo markdown blog
---

Next you can update your site name, avatar and other options using the _config.yml file in the root of your repository (shown below).
```
```
git add .
git commit -m"new blog post"
git push
```
![demo](https://dev-to-uploads.s3.amazonaws.com/i/7w4k5yj1hkw7ckjwywa3.png)

# Use a Markdown editor
Rather than install the whole development stack with Ruby, Bundler and jekyll, You can simply use a free desktop Markdown tool to write your post with a preview. I personally recommend [znote](https://znote.lagrede.fr/) a free Markdown editor with ideal interface to write offline posts. 😁

# To conclude
This is a quick introduction to [Github pages](https://pages.github.com/). Now, you know how to build and deploy your personal blob/website without paying a provider and maintaining a server. You can of course replace this blog by an HTML website or customize it with another theme.

### Themes
https://jekyllthemes.io/
https://jekyllthemes.io/free
https://themeforest.net/tags/github%20pages
http://jekyllthemes.org/