All Projects → abhn → Elementary

abhn / Elementary

Licence: GPL-3.0 license
Minimal Jekyll theme optimized for performance, accessibility, usability and readability

Programming Languages

SCSS
7915 projects
HTML
75241 projects
javascript
184084 projects - #8 most used programming language
ruby
36898 projects - #4 most used programming language

Projects that are alternatives of or similar to Elementary

Hardcandy Jekyll
一款清新 糖果色🍬 的 ‘Jekyll’ 主题。A candy-colored 🍬 ‘Jekyll’ theme.
Stars: ✭ 202 (+329.79%)
Mutual labels:  jekyll-theme, css3
Freecodecamp-responsive-web-design-projects
Freecodecamp-responsive-web-design-projects solution github
Stars: ✭ 24 (-48.94%)
Mutual labels:  css3
jekyll-gitbook
Build Jekyll site with GitBook style!
Stars: ✭ 226 (+380.85%)
Mutual labels:  jekyll-theme
advanced-web-developer-bootcamp-notes-examples-and-exercises
Examples and Exercises compiled. From the awesome Advanced Web Developer Bootcamp
Stars: ✭ 24 (-48.94%)
Mutual labels:  css3
casper
Ghost's Casper theme, for Octopress.
Stars: ✭ 42 (-10.64%)
Mutual labels:  jekyll-theme
Books-Library-using-ReactJs
A Book Library for all Books Lovers made using React-Js. The API used for fetching books is Google Books API.
Stars: ✭ 22 (-53.19%)
Mutual labels:  css3
aprendendo-css
Vários desenhos feitos com CSS e SCSS (e as vezes um pouco de JavaScript)
Stars: ✭ 56 (+19.15%)
Mutual labels:  css3
nwMAME
Open-Source MAME front-end built on Node-WebKit (NWJS)
Stars: ✭ 32 (-31.91%)
Mutual labels:  css3
catbook
a category-centric theme for Jekyll
Stars: ✭ 48 (+2.13%)
Mutual labels:  jekyll-theme
xs-huxblog
一个用于搭建个人博客的 Jekyll 模板
Stars: ✭ 36 (-23.4%)
Mutual labels:  jekyll-theme
giada-www
Official website of Giada Loop Machine. Powered by NodeJS, SASS, Pug and other beautiful JavaScript machineries.
Stars: ✭ 13 (-72.34%)
Mutual labels:  css3
sass-structure
Sass folder structure => organizing project files.
Stars: ✭ 32 (-31.91%)
Mutual labels:  css3
aperture-jekyll-template
📷 Photography portfolio Jekyll template
Stars: ✭ 71 (+51.06%)
Mutual labels:  jekyll-theme
just-the-class
A modern, highly customizable, responsive Jekyll template for course websites.
Stars: ✭ 156 (+231.91%)
Mutual labels:  jekyll-theme
business-frontpage
A business home page starter template for Bootstrap 4 featuring marketing boxes and a full width image header.
Stars: ✭ 23 (-51.06%)
Mutual labels:  jekyll-theme
epyk-ui
No description or website provided.
Stars: ✭ 63 (+34.04%)
Mutual labels:  css3
hangman-game
A responsive hangman game built with vanilla javascript, html, and css. Animated with GSAP and canvas animations.
Stars: ✭ 22 (-53.19%)
Mutual labels:  css3
matjek
Material theme based on Materialize.css for jekyll sites
Stars: ✭ 94 (+100%)
Mutual labels:  jekyll-theme
TypingHero
gary60405.github.io/typinghero/
Stars: ✭ 28 (-40.43%)
Mutual labels:  css3
monophase
A one-column minimal responsive Jekyll blog theme
Stars: ✭ 34 (-27.66%)
Mutual labels:  jekyll-theme

Unmaintained - Blog moved to Wordpress

I've moved my blog to wordpress and ported this theme to Wordpress - https://github.com/abhn/Elementary-Wordpress.

Due to a crunch of time, updates here may or may not happen. Please check the Wordpress theme for updates.

Relevant blog article: Life Goes Full Circle – Blog Back To WordPress

Elementary

This is my personal blog's Jekyll template that I've been optimizing for performance, accessibility, usability, readability and simplicity in general.

I personally do not approve of personal blogs bloated with hundreds of kilobytes of trackers and analytics code, and hence, this is an attempt at creating something that I'd be comfortable with using on my website.

Performance

Images from my website (clockwise from top left)

  • Perfect 100 Google Page Speed score on both mobile and desktop
  • Kindle's experimental browser running the theme
  • Median load time (From Cloudflare) is less than a second
  • 100% cached by Cloudflare CDN

Dark mode

Note: Dark mode requires JavaScript

Scroll progress

Note: Scroll progress requires JavaScript

Demo

https://elementary-jekyll.github.io/

Features

  • Lightweight, <10KB CSS, <3KB (optional) JavaScript + 15KB Open Sans font file + your content
  • Highly accessible with semantic HTML
  • Structured data (schema.org) pre-added for blog posts
  • Dark mode (requires JavaScript for toggling class and saving user preference in cookies)
  • Reading progress slider on top (requires JavaScript)
  • JavaScript is optional (turn it off in _config.yml)
  • No request made to any third party
  • Any much more...

Installation (Prerequisite: A working Jekyll site)

  • If you don't have a Jekyll site, read up how to create one here: https://jekyllrb.com/docs/
  • Add Elementary repository as a submodule to your Jekyll blog by running the following command.
git submodule add [email protected]:abhn/Elementary.git elementary
  • Tell Jekyll it has to use Elementary as theme by adding the following to your _config.yml (in case you're wondering where, just add it to the bottom on a new line).
theme: elementary
  • Add the following to your Gemfile
source 'https://rubygems.org'
gem 'elementary', path: 'elementary'
  • Run bundle install command in your project directory and make sure there are no errors
  • Add ./elementary to exclude section of _config.yml so that the theme's files aren't compiled into the final site by adding the following to your _config.yml (if exclude key exists, just add a new item to it)
exclude:
  - ./elementary
  • Run command bundle exec jekyll serve to run local server (open browser to http://localhost:4000 to view the site).
  • Run command bundle exec jekyll build to output a production build to the _site directory.

Customization

  • You're free to make any edits to the theme's files in the submodule. You can also git pull origin master from the submodule directory to update the theme in case I push updates, but you don't have to.
  • In _config.yml, you can add new collections (groups of new content, so blog posts, news, pictures could all be their own collections with separate listing on index page)

Credits

License

GNU GENERAL PUBLIC LICENSE Version 3

Going v1.0

When I started with the original project around 2 years ago, my goal was to get rid of all that unnecessary code and progressively add only the most essential bits.

I feel like the theme is in good enough shape right now that I can call it a v1.0


Original inspiration

I recently read in a blog post that a personal blog has to be fast and lean. There's no reason for a personal blog to be bloated and take 2 seconds to load. That was when I reviewed my own blog code and started analyzing. I discovered that I was loading jQuery just for another jQuery plugin which just helped the images and videos to be mobile responsive. That was some 40KB of overhead, 2 additional requests which could have been prevented with just a max-width: 100% attribute to the culprit elements. Similarly, there was Disqus which loaded tonnes of scripts along with its own Google Analytics script.

I went on stripping weight from the code, and was left with something what you see here. Few extra CSS tweaks and Tadaa!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].