Hamilton <!– omit in toc –>

A minimal and beautiful Jekyll theme best for writing and note-taking.

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.

| Skins | Displays | | —– | ——– | | Daylight | | | Sunrise/Sunset | | | Midnight | |

Features <!– omit in toc –>

Table of Contents <!– omit in toc –>

Installation

You can choose one of the following methods to install 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 name of the author of the site; It would be showed in the copyright statement. | | avatar | string | The avatar of the author of the site. | | email | string | The email of the author of the site. | | location | string | The current living location of the author of the site. | | 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. | | 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

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.

Navigation

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/

The navigation bar also supports dropdown submenus:

- title: About
  url: /about/
- title: Categories
  url: /categories/
- title: Tags
  url: /tags/
- title: More
  sublinks:
    - title: FAQ
      url: /faq/
    - title: Docs
      url: /docs/

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/ngzhio
  icon: fab fa-twitter
- title: GitHub
  url: https://github.com/ngzhio/jekyll-theme-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.