screenshot of Elementary


Minimal Jekyll theme optimized for performance, accessibility, usability and readability. https://nagekar.com


This product analysis is for the Elementary Jekyll template. The template was created with a focus on performance, accessibility, usability, readability, and simplicity. The goal of the template is to provide a lightweight and customizable solution for a personal blog. The template also includes features such as dark mode, scroll progress, and structured data. Installation instructions are provided for incorporating the template into an existing Jekyll site.


  • Lightweight: Less than 10KB CSS, <3KB JavaScript, + 15KB Open Sans font file
  • Highly accessible: Uses semantic HTML and includes pre-added structured data (schema.org) for blog posts
  • Dark mode: Toggleable class using JavaScript with the ability to save user preferences in cookies
  • Reading progress slider: Slider displayed at the top to indicate reading progress, implemented using JavaScript
  • Optional JavaScript: Ability to turn off JavaScript in the configuration file
  • No third-party requests: The template does not make any requests to third-party services for analytics or tracking


  • Ensure you have a working Jekyll site. If not, refer to the Jekyll documentation for instructions on creating one.
  • Add the Elementary repository as a submodule to your Jekyll blog by running the following command:
git submodule add https://github.com/abhn/Elementary-Jekyll.git elementary
  • Configure Jekyll to use the Elementary theme by adding the following to the _config.yml file (if the file doesn't exist, create it):
theme: elementary
  • Add the following to your Gemfile:
gem 'jekyll', '~> 3.8'
gem 'jekyll-paginate', '~> 1.1'
gem 'jekyll-feed', '~> 0.11'
gem 'html-proofer', '~> 3.8'
  • Run the following command in your project directory to install the required gems:
bundle install
  • Exclude the theme's files from being compiled into the final site by adding the following to your _config.yml file (if the exclude key already exists, add a new item to it):
  - elementary
  • Run the following command to start a local server and view the site in your browser at http://localhost:4000:
bundle exec jekyll serve


The Elementary Jekyll template is a lightweight and customizable solution for a personal blog. It focuses on performance, accessibility, usability, readability, and simplicity. Features such as dark mode and reading progress slider add to the user experience. The installation process involves adding the template as a submodule, configuring Jekyll to use the theme, installing the required gems, and excluding the theme's files from compilation. Overall, this template offers a clean and efficient option for creating a personal blog.


HTML templates are pre-designed and pre-built web pages that can be customized and used as a basis for building websites. They often include common elements such as headers, footers, menus, and content sections, and can be easily edited using HTML and CSS to fit specific branding and content needs.


Jekyll is a static site generator written in Ruby that allows you to create simple, fast, and secure websites without the need for a database.


Blog websites feature posts written by one or more authors, organized by categories and tags, with a section for comments and archives sorted by date or topic. Additional features may include search bar, social media sharing, subscription or RSS feed, about and contact pages, and visual content.

Templates & Themes

A template or theme refers to a pre-designed layout or structure that provides a basic framework for building a specific type of application or website. It typically includes good design, placeholder content and functional features, allowing developers to customize and fill in the details according to their specific needs.