Blogging with GitHub Pages and Jekyll
Quite for some time I was thinking about starting a blog on software engineering and GitHub Pages seemed like an ideal option, hosting the blog right next to the code. GitHub Pages comes with support of Jekyll static site generation engine, so using it seemed like a good option as well.
So today is the day! I’m starting the blog with the post describing the steps to set it up. Jekyll docs describe pretty much what needs to be done in order to get the blog up and running. Checking out thoubleshooting page is a good idea when it comes to sorting out permissions issues (I am not really comfortable with running blog-related commands with ‘sudo’ prefix). I have chosen simple and elegant theme whiteglass, that comes with support of navigation, archive and about page. Updating links and footer content is simple by following the instructions provided with the theme.
Posts are created in markdown language, which I haven’t used before, but it looks very simple. Here go some examples of what and how can be described in markdown.
Text decorations include bold, italic, crossed out. And can be propagated not only to words but to whole sentences.
Links can be included in place!
- Numbered lists
- are created with
1.
prefix - at the begining of each list item
- then these prefixes
- are turn into proper list index
- Bullet points
- are created with dashes
- before each list item
- and can be intented
- using two spaces
- before the dash char
- for sub-lists
Images are added in a way similar to links (source: imgur)
(1) Headers
(2) Are created
(3) Using the hash signs
(4) Number of hashes matches
(5) Then N in <hN> tag
(6) And can go from 1 to 6
Quotes are represented with greater signs as first char in the line of text:
Imagination is more important than knowledge. For knowledge is limited to all we now know and understand, while imagination embraces the entire world, and all there ever will be to know and understand.
Albert Einstein
Quoting your own words feels awkward…
Sergey Melnychuk
Putting code on the page can be done inline like this Cat cat = new Cat();
or as a syntax-highlighting enabled block:
// Yes, this is hello world in Java,
// first what came to my mind when
// I was thinking about example for
// a block of code
public class Main {
public static void main(String args[]) {
System.out.println("Hello, World!");
}
}
Nice thing to have is a task list:
- this is completed item
- this is not-completed item
Tables can be useful as well:
Color | Action |
---|---|
Red | Stop |
Yellow | Think again |
Green | Go |
Important thing to note here is that Jekyll Archives plugin is not supported in GitHub Pages, so I got it removed from the blog. For more details:
- Pull request for Jekyll Archives support
- Comment regarding why it is not supported
- Solution to add archives support