Jekyll is a simple, blog aware, static site generator written in Ruby and developed by GitHub co-founder
Tom Preston-Werner. It takes a template directory (representing the raw form of a website),
runs it through Textile or Markdown and Liquid converters, and spits out a complete, static website suitable for serving with
Apache or your favorite web server. It is the engine behind GitHub Pages.

Werner announced the release of Jekyll on his website on November 17, 2008. [1]

RubyGems (recommended)

The best way to install Jekyll is with RubyGems, which is a package manager for the Ruby programming language.
RubyGems comes with the ruby package. Jekyll can then be installed for all users on the machine using the gem command as root.
Alternative installation methods are available on the Ruby page.

AUR (alternate)

Rubygems binary repository

Select a markup language

There are numerous different markup languages that are used to define text-to-HTML conversion tools. Jekyll has two defaults;
Textile and Markdown.
Implementations of both are required as dependencies of Jekyll.

Textile

Note: RedCloth, a module for using the Textile markup language in Ruby, fails to install with gcc 4.6.0 (see: RedCloth Ticket 215 and 219).

It is recommended that you install the current stable version 4.2.2 by gem install RedCloth --version 4.2.2.

Markdown

Markdown is a markup language and text-to-HTML conversion tool
developed in Perl by John Gruber. A Perl and a Python implementation of Markdown
can be found in the official repositories, while numerous other implementations are available in the
AUR. The default implementation
of Markdown in Jekyll is kramdown.

Creating a post

The content of each blog post will be contained within a file inside of the _posts directorys.
To use the default naming convention each file should be saved with the year, month, date, post title
and end with the *.md or *.textile depending on the markup language used (e.g. 2010-02-13-early-userspace-in-arch-linux.textile).
The date defined in the filename will be used as the published date in the post. Additionally, the filename
will be used to generate the permalink (i.e. /categories/year/month/day/title.html).
To use an alternate permalink style or create your own review the explanation on GitHub.

Test

To generate a static HTML website based on your Textile or Markdown documents run jekyll.
To simultaneously test the generated HTML website run Jekyll with the --serve flag.

$ jekyll serve

or if you want jekyll to watch for file changes

$ jekyll serve --watch

It is recommended to define server options in your _config.yml.
The default will start a server on port 4000, which can be accessed in your web browser at localhost:4000.