Hey I would love to know what you think while reading my posts. Please comment!.

Github Pages with Jekyll and Markdown

Static site generation with Jekyll for Github pages

Static site generation with Jekyll for Github pages

Github Pages with Jekyll and Markdown

I had originally planned on adding this post when I first launched my website on Github Pages, but for some strange reason the post sat in a half-written state and unpublished. It could have also been because I had never managed to get Jekyll running on Windows at that time! I have now though, so see below on how to get this up and running. :)

##Github Pages

If you have never heard about Github pages before and are looking for somewhere to host your own personal blog, then I would suggest checking it out now. pages.github.com host static html websites using your own repository to manage the files. You get one site per GitHub account and unlimited project sites. Simply create a new repository named [username].github.io and you are away!

Once you have your repository, you can then start to create static html pages, e.g. index.html that will then display when navigating to [username].github.io

##Blogging with Jekyll

Not only does GitHub Pages support static html pages, but it also has support for Jekyll

Jekyll is a blog-aware, static site generator in Ruby http://jekyllrb.com

Using Jekyll to generate your static html pages makes managing your website layout/headers/footers/menus much easier than manually editing multiple html files. Along with generating html pages from templates, it also makes blogging a lot easier. Jekyll will take your blog post content pages, the layout pages, and various other pages, process them when you push your files up to your repository and then output all the static pages.

##Markdown

Markdown is a lightweight markup language with plain text formatting syntax designed so that it can be converted to HTML and many other formats using a tool by the same name.[5][6] Markdown is often used to format readme files, for writing messages in online discussion forums, and to create rich text using a plain text editor.

Source

##Running Jekyll on Windows

If you are wanting to try this out and run Jekyll on Windows like me, then a SUPER GREAT step by step guide can be found here Run Jekyll on Windows - A step-by-step guide to setting up Jekyll on Windows by @juthilo

Note

I found that after installing the Ruby DevKit and running the command ruby dk.rb init I was unclear as to the next step. In the guide, it simply says:

Install the DevKit, binding into your Ruby installation ruby dk.rb install

However after trying this it was giving me the error Invalid configuration or no Rubies listed. Please fix 'config.yml' and rerun 'ruby dk.rb install'. At this point my config.yml file looked like this:

# This configuration file contains the absolute path locations of all
# installed Rubies to be enhanced to work with the DevKit. This config
# file is generated by the 'ruby dk.rb init' step and may be modified
# before running the 'ruby dk.rb install' step. To include any installed
# Rubies that were not automagically discovered, simply add a line below
# the triple hyphens with the absolute path to the Ruby root directory.
#
# Example:
#
# ---
# - C:/ruby19trunk
# - C:/ruby192dev
#
---

It turned out that I had to add the path to my Ruby installation folder to the end of the config.yml file so it now looked like:

# This configuration file contains the absolute path locations of all
# installed Rubies to be enhanced to work with the DevKit. This config
# file is generated by the 'ruby dk.rb init' step and may be modified
# before running the 'ruby dk.rb install' step. To include any installed
# Rubies that were not automagically discovered, simply add a line below
# the triple hyphens with the absolute path to the Ruby root directory.
#
# Example:
#
# ---
# - C:/ruby19trunk
# - C:/ruby192dev
#
---
- "C:/Ruby22-x64"

About Me

Tim James I'm Tim, a web applications developer from Glasgow, Scotland. Currently working for Kingfisher Systems Ltd, building bespoke systems within the Car Auction industry.

  • C#
  • VB.NET
  • ASP.NET
  • .NET MVC
  • Web API
  • Razor
  • HTML5
  • CSS3
  • jQuery
  • WCF
  • SQL
  • knockout.js
  • Angularjs
  • AJAX
  • APIs
  • SignalR
Why not follow me on twitter? Follow me on Twitter