Site Implementation : In Brief

This site is hosted on GitHub Pages.


About GitHub Pages

GitHub Pages (GHP) is a static site hosting service:

See also:


Dev Platform preliminaries

GitHub is built on Ruby. RubyGems is a package manage for Ruby programs and libraries in a format named 'gem'. Packages are referred to as 'Ruby gems' or just 'gems'. Jekyll,the SSG we are goint to be using is a gem. Many Jeckyll plug-ins are gems.

To dev the GitHub pages site lcoally, we need little concern ourselves about Ruby beyond getting it installed and running and being able to install the Jeckyll gem and a few Jekylems. To manage application gem dependencies we are going to use Bundler.

To set up Ruby platform:


Jekyll Configuration for Site

Site configurations for Jekyll are managed by a file named _config.yml located in the site root directory.

_config.yml

Place in site root. See Beautiful Jekyll for boilerplate.

Key Settings

timezone timezone: "Australia/Melbourne" list of timezones

Gemfile

Gemfile (no extenion) is used to manage gem deployment across different environments. See Gemfile. Do not edit manually. Bundle manages Gemfile:

bundle initCreate Gemfile

bundle add [gem]Install gem

bundle updateUpdate gems


Jekyll Bascis

Jekyll uses the Liquid templating language, that, unsurprisingly, shares a lot of terminology, syntax, and approach with other templating engines.

Front Matter

The presence of a YAML front matter block means Jekyll will process the page as a template - using the Liquid templating language. The front matter must be valid YAML set between triple-dashed lines. At its most basic, this is simply an empty set of triple-dashed lines:

---

---

<body>

<p>html markup</p>

Variables

Between these triple-dashed lines in the Front Matter you can set variable (pre-defined and cusom) values, which can the be accessed in Liquid tags both in the file and in any layouts or include files that the page uses.

For example:

---

layout: default

variable: value

---

<p>Value of variable is {{ page.variable }}</p>