[updated] 13 Oct 2018

I was finally prodded into action when my wordpress blog site certificate expired.

Using a few excellent resources available on the interwebs, I was able to run (generate in jekyll) the site locally on a Windows 10 machine and then push it to github (richardborges.github.io), which hosts for free !

Running the site locally.

The main steps where

  1. Make sure you have Bash on Ubuntu on Windows and have visited jekyll on Windows
  2. Install jekyll on Windows 10 bash ( Bash on Ubuntu on Windows ) using instructions at https://jekyllrb.com/docs/windows/
  3. I used my d drive to create a directory for my blog site (appears in mnt in bash)
  4. I liked the Cayman theme so downloaded it from github
  5. How to run locally ?
    1. Open a bash shell window ( not git bash, the desktop app, but bash, the command). You can now mount the drive where your blog is saved (locally)
       cd /mnt/d/RichardBorges.github.io 
      

      ==> i.e. my local directory on d drive where the cayman theme has been unzipped

    2. bundle exec jekyll serve, this starts up the website locally
    3. browse to http://127.0.0.1:4000
    4. add new posts
    5. rinse and repeat

Running the site at richarborges.github.io

  1. Commit your local changes to your local github repository. As the site is generated locally by jekyll, I only commit the fully built site to github. The fully build website is found at _site/
  2. In bash shell
      cd _site/ 
      git add . 
      git commit -m "This is the initial commit of my blog"
      git remote add origin https://github.com/richardborges/richardborges.github.io.git
      git push -u origin master
    
  3. If the remote repository ( at github ) has not been setup, check using
      git remote -v
      git config --global user.name "richardborges"
      git config --global user.email "richardborges@company.com"  
      git remote -v
    
  4. push your changes to remote
      git push -u origin master
    

    You should now be able to see your site at richardborges.github.io

Pointing richardborges.net to richardborges.github.io

  1. Firstly I added https://github.com/richardborges/richardborges.github.io.git . Go to settings » custom domain
    custom domain This creates a CNAME file in the remote repository ( remember to pull it to local later on)

  2. We need to find the IP address of the remote, so use dig in bash shell
    dig richardborges.github.io
    

    dig in bash shell

  3. Now we need to update our DNS record ( at the the DNS hoster to point to the github.io IP address) DNS maintenance Also see Setting up an apex domain
  4. Now I can use richardborges.net to visit my blog. Yay.

These websites proved invaluable…

Build A Blog With Jekyll And GitHub Pages

Setting up a Jekyll blog using Windows 10 Bash and hosting on GitHub Pages • Keerat Singh • Aug 5, 2016

Jekyll on Windows

How to install Jekyll on Windows 10 with “Windows subsystem for Linux”

Developers can run Bash Shell and user-mode Ubuntu Linux binaries on Windows 10

Windows Subsystem for Linux out of Beta!

Transform your plain text into static websites and blogs.

Using Jekyll as a static site generator with GitHub Pages

How-to: Migrating Blog from WordPress to Jekyll, and Host on Github