Home

Awesome

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.

SkinsDisplays
Daylightscreenshot
Sunrise/Sunsetscreenshot
Midnightscreenshot

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.

ParametersTypesSpecifications
titlestringThe site title
disqusstringThe 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_analyticsstringThe Google Analytics tracking ID; It is used in the production environment.

Optional Parameters

ParametersTypesSpecifications
authorstringThe name of the author of the site; It would be showed in the copyright statement.
avatarstringThe avatar of the author of the site.
emailstringThe email of the author of the site.
locationstringThe current living location of the author of the site.
skinstringThe skin name. See more information on the Customization section.
langstringThe language of the site; The default value is en.
paginateintThe number of posts on each page.
date_formatstringThe date format; The default value is %b %-d, %Y.
subscribebooleanShow the subsribe feed button.

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.

TOC

If you want to show the Table of Contents of a post or page on the left sidebar, just set toc: 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.