Back to templates

Template details

Hamilton

A minimal and beautiful Jekyll theme best for writing and note-taking, built as an enhancement of Minima.

About this template

Hamilton is a minimal Jekyll theme for writing and note-taking, built as an enhancement of the default Jekyll theme Minima. It turns a standard Jekyll site into a clean, content-focused blog with configurable skins, archives, and built-in integrations.

What is Hamilton?

Hamilton is a Jekyll theme that produces a static blog or notes site from Markdown posts and pages. It takes Jekyll configuration files (_config.yml), posts, and pages as input, and outputs a static website with RSS feed, sitemap, SEO metadata, and optional comments. The theme runs on Jekyll, a Ruby-based static site generator, and can be installed either as a Ruby gem (jekyll-theme-hamilton) or remotely on GitHub Pages via jekyll-remote-theme. The theme is developed by the GitHub user ngzhio, and was originally created to replace Jekyll's default Minima theme while keeping the same minimal aesthetic.

Key Features

  • Jekyll SEO Tag — injects structured metadata and Open Graph tags for better search engine and social sharing previews.
  • Jekyll Feed — automatically generates an RSS feed from your posts.
  • Jekyll Sitemap — produces a sitemap.xml so search engines can index every page.
  • Google Analytics — add your tracking ID once in _config.yml and page views are recorded in production.
  • MathJax — enable per-post math rendering with math: true in front matter.
  • Disqus comments — requires a Disqus shortname; comments appear on posts in production.
  • Four built-in skins — daylight, midnight, sunrise, and sunset, with optional dynamic selection based on hour of day.
  • Archive pages in pure Liquid — category, tag, and year archives without any plugins.
  • Configurable navigation — define links and dropdown submenus in _data/navigation.yml.
  • Customizable head and styles — add metadata via _includes/custom-head.html and extra CSS via _sass/hamilton/custom-styles.scss.
  • Font Awesome icons — used for social media links in _data/social.yml.
  • Table of contents — show a TOC on the left sidebar by setting toc: true on a post or page.

Who is it for?

  • Personal bloggers who want a distraction-free Jekyll theme with standard blog features like archives, RSS, and sitemap without building them from scratch.
  • GitHub Pages users who want a remote theme that requires no local build setup beyond pointing remote_theme: ngzhio/jekyll-theme-hamilton in their configuration.
  • Technical and academic writers who need LaTeX math notation on specific posts via the built-in MathJax integration.
  • Note-takers who maintain long Markdown documents and want a left-sidebar table of contents for quick navigation.

What can you do with Hamilton?

  • Writers: publish posts with category, tag, and year archive pages generated purely in Liquid, and let readers subscribe via the RSS feed button.
  • Developers: customize the whole look by creating a custom skin from daylight.scss, or inject analytics and SEO tags without touching core templates.
  • Site maintainers: configure a dropdown navigation menu and social media links through simple YAML data files.
  • Anyone on GitHub Pages: get a production-ready blog by adding the remote theme and two required config fields (title and disqus).

How does Hamilton work?

Install the theme by adding gem 'jekyll-theme-hamilton' to your Gemfile, or use jekyll-remote-theme and set remote_theme: ngzhio/jekyll-theme-hamilton in _config.yml. Then configure the required parameters title, disqus, and google_analytics, and run jekyll serve to preview the site locally. Optional front matter flags control per-page features: math: true for MathJax and toc: true for a table of contents.

FAQ

Is Hamilton free?

Yes, Hamilton is open source and released under the MIT License, so you can use, modify, and redistribute it freely.

Which Jekyll version does Hamilton require?

The theme is designed as a standard Jekyll gem theme and works with Jekyll's usual gem-based theme system; it also supports GitHub Pages through jekyll-remote-theme.

Can I create my own skin?

Yes. Copy _sass/hamilton/skins/daylight.scss into your repository, rename it (for example solarized.scss), adjust the colors, and set skin: solarized in _config.yml.

Does Hamilton support comments?

Yes, through Disqus. You must set the disqus parameter in _config.yml to your Disqus shortname, and comments are enabled in the production environment.

How do I add a table of contents to a post?

Set toc: true in the front matter of any post or page, and Hamilton will render the TOC on the left sidebar.

screenshot of Hamilton on template0.com