Hamilton <!-- omit in toc -->

Another minimal style of Jekyll theme for writers. The original purpose of this theme is to be a replacement of the default Jekyll theme -- Minima. Hamilton is an enhancement of Minima but still, keep in minimal.

Please check out the demo.

screenshot

Features <!-- omit in toc -->

Table of Contents <!-- omit in toc -->

Installation

You can choose one of the following methods to install Hamilton:

  • Directly specify the hamilton gem.
1. Add `gem 'hamilton'` into your `Gemfile`.
2. Add the below lines into your `_config.yml`.

    ```yml
    plugins:
      - hamilton
    ```
  • If your site is hosted on GitHub Pages, you can use jekyll-remote-theme to import the master branch of Hamilton.
1. Add `gem 'jekyll-remote-theme'` into your `Gemfile`.
2. Add the below lines into your `_config.yml`.

    ```yml
    plugins:
      - jekyll-remote-theme

    remote-theme: hszhakka/hamilton
    ```

Configuration

After installation, you can run jekyll serve to check out your site, but before that, make sure the below required parameters are configured in your _config.yml.

Parameters Types Specifications
title string The site title
disqus string The Disqus shortname; Unless you don't want to enable the comments system, you must specify this parameter. It is used in the production environment.
google_analytics string The Google Analytics tracking ID; It is used in the production environment.

Optional Parameters

Parameters Types Specifications
author string The author name of the site; It would be showed in the copyright statement.
skin string The skin name. See more information on the Customization section.
lang string The language of the site; The default value is en.
paginate int The number of posts on each page. To enable pagination, you must use a third-party plugin, e.g. jekyll-paginate, jekyll-paginate-v2, or jekyll-pagination.
date_format string The date format; The default value is %b %-d, %Y.

Archive Pages

Hamilton implements some archive templates in pure Liquid. For example, if you want to create a category archive page, set the below parameters on that page:

---
layout: archive-taxonomies
type: categories
---

Or a tag archive page:

layout: archive-taxonomies
type: tags

Or archive by years:

layout: archive-years

TOC

You can enable a TOC on each post or page, just set toc: true on that page.

MathJax

You can enable MathJax on each post or page, just set math: true on that page.

Customization

Metadata

You can create a file _includes/custom-head.html in your repository, and add any metadata into that page, e.g. favicons.

You can create a file _data/navigation.yml to configure links to some pages. For example,

- title: About
  url: /about/
- title: Categories
  url: /categories/
- title: Tags
  url: /tags/

Social Media

You can create a file _data/social.yml to configure links to your social media. For example,

- title: Twitter
  url: https://twitter.com/hszhakka
  icon: fab fa-twitter
- title: GitHub
  url: https://github.com/hszhakka/hamilton
  icon: fab fa-github

Skins

You can select a skin by setting skin in _config.yml. The built-in skins include daylight, midnight, sunrise, and sunset. If you don't specify any skin, Hamilton would dynamically select one in these built-in skins according to different hours in a day.

You can also customize a new skin, for example, a skin called solarized. You need to copy _sass/hamilton/skins/daylight.scss into your repository and then rename it to solarized.scss, and adjust some colors in that file. Finally, specify skin: solarized in _config.yml.

More Customized Styles

If you want to create more CSS styles in your site, creating a file _sass/hamilton/custom-styles.scss, and putting your code in there, Hamilton would automatically refer to them.

License

The theme is available as open source under the terms of the MIT License.