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.
Features <!– omit in toc –>¶ ↑
-
Customizable head
-
Configurable page navigation
-
Customizable styles and skins
-
Archive pages implemented in pure Liquid
Table of Contents <!– omit in toc –>¶ ↑
Installation¶ ↑
You can choose one of the following methods to install Hamilton:
-
Directly specify the
hamilton
gem.-
Add
gem 'hamilton'
into yourGemfile
. -
Add the below lines into your
_config.yml
.plugins: - hamilton
-
-
If your site is hosted on GitHub Pages, you can use {
jekyll-remote-theme
} to import the master branch of Hamilton.-
Add
gem 'jekyll-remote-theme'
into yourGemfile
. -
Add the below lines into your
_config.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.
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/
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.