My Profile Photo

Paul Brodner's Blog

Opinions are my own and not the views of my employer


Drawing the lines AI must follow


    Defining my static blog with Github Pages

    Yes, that’s right, you can use Github Pages to host your personal or organization projects directly on Github.

    I’m really a fan of the Ruby language since 2011 when I’ve worked as a Ruby on Rails developer, so why not using this language to define my personal blog?

    There are a lot of resources out there with step by step guides, how you can achieve this: I suggest to start with official https://pages.github.com documentation.

    This is how I did it:

    a) Define github code location of my blog

    https://github.com/paulbrodner/paulbrodner.github.io
    

    Simple as that, according to official docs you will be able to access your site at http://paulbrodner.github.io/

    b) Define work items using Github Projects

    I like to keep my work items organized, I want to track and update my work from one place so my project will be finalized on schedule, that’s why I’ve used “Projects” feature of Github where I define one Automated Kanban board named “blog”:

    Kanban Blog

    The interesting part of the automated Kanban board is that when a new issue or pull request is opened, that item is moved to To Do column.

    When I start working on one item, I move it In Progress

    In the Done column, you will see items that are closed.

    Idea Try to close issues directly from commit messages, using keyworkds

    All issues have assigned a label to them so I can easily filter and sort-out what I want.

    c) Implementation

    I focused my attention on Jekyllrb - a framework for transforming plain text into static blogs.

    Jekyllrb is using Liquid an open-source language that will process our markdown templates.

    I have my framework identified, but what template should I use?

    Idea You can checkout many great templates at http://jekyllthemes.org.

    My desired template was a minimal responsive theme Jekyll-Uno.

    • checkout my good first issue #1 that will define this structure

    d) Testing

    • I have my structure now, I am an Automation Engineer, so I need a way - one automated way to test my changes if I want to create a blog post for example. Issue #8 will do that for me:

    Test My Blog Behind the scenes, I’ve used html-proofer gem. More details on this blog post

    d) Enhancements

    The planning board will filter all enhancement that I’ve done on top of Jekyll-Uno.

    • ability to generate new blog pages automatically (source #11) Generate Pages To sum-up I have a Rakefile that will call the the existing Jekyll generators in one interactive way, asking you what is the new post title, date, if is a draft or not, etc.
    • search capabilities by JSON data (source #12) Search Capabilities I’m defining a new “search.html” page that will contain the search code and one search.json that will automatically generate in JSON format the entire condent of this blog. Thanks to Simple-Jekyll-Search

    Search is available on the top right corner - needs some improvements in terms of responsiveness, but I’m happy with it for now.

    comments powered by Disqus