Sleek
A modern Jekyll theme focused on speed performance & SEO best practices.
Features
- Compatible with Github Pages
- Minimal, responsive and speed performance optimized
- SEO friendly, with help of Jekyll SEO Plugin
- Easy Google Tag Manager Integration
- Support for Disqus comments
- Form submissions with Formspree
Installation
System Requirements
To use this project, you'll need the following things on your local machine:
Jekyll
gem install jekyll
NodeJS (8 or greater)
Download and open the NodeJS installer
Gulp.js (optional, but recommended)
sudo npm install -g gulpfile
Up & Running
- Fork the repo
- Clone or download the repo into directory of your choice:
git clone https://github.com/your-github-username/jekyll-thenerdlife.git
- Inside the directory run
bundle install
andnpm install
- If you want to use gulp.js run
gulp
ornpm start
- if you don't want to use gulp you can simply run
bundle exec jekyll serve
Installing to existing jekyll project
Add this line to your Jekyll site's Gemfile
:
gem "jekyll-thenerdlife"
And add this line to your Jekyll site's _config.yml
:
theme: jekyll-thenerdlife
And then execute:
$ bundle
Or install it yourself as:
$ gem install jekyll-thenerdlife
##File Structure Overview
jekyll-thenerdlife
├── _includes # theme includes
├── _js # javascript files (by default jquery will be included with the scripts inside)
├── _layouts # theme layouts (see below for details)
├── _pages # pages folder (empty by default)
├── _posts # blog posts
├── _sass # Sass partials
├── assets
| ├── css # minified css files
| ├── img # images and icons used for the template
| └── js # bundled and minified files from _js folder
├── _config.yml # sample configuration
├── gulpfile.js # gulp tasks (tasks autorunner)
├── index.md # sample home page (blog page)
└── package.json # gulp tasks
Usage
TODO
Site configuration
TODO
###Google Tag Manager
To enable Google Tag Manager, add the following lines to _config.yml
:
google_tag_manager: GTM-XXXXXXX
where GTM-XXXXXXX
is your Google Tag Manager Container ID.
Note by default GTM tracking snippet will be also included in development. Google Tag Manager was chosen for this project as it's more flexible than Google Analytics, and it can be used to add GA to your site.
###Disqus
To enable Disqus comments, add your Disqus shortname to _config.yml
:
disqus:
shortname: my_disqus_shortname
###Formspree
To use Formspree with your email address, you need to change the following:
Change your-email@domain.com
email in _config.yml
email: your-email@domain.com
Change your-email@domain.com
to your email in _js/scripts
(should be at the bottom of the code inside $.ajax( {
function).
url: "https://formspree.io/your-email@domain.com"
You can check if it works by simply submitting the form.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/johnrlive/jekyll-thenerdlife/. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
Development
To set up your environment to develop this theme, run bundle install
and npm install
.
Your theme is setup just like a normal Jekyll site! Check out file structure overview for details. To test your theme, run gulp
and open your browser at http://localhost:3000
. This starts a Jekyll server using your theme. Add pages, documents, data, etc. like normal to test your theme's contents. As you make modifications to your theme and to your content, your site will regenerate and you should see the changes in the browser after a refresh, just like normal.
When your theme is released, only the files in _layouts
, _includes
, _sass
and assets
tracked with Git will be bundled.
To add a custom directory to your theme-gem, please edit the regexp in jekyll-thenerdlife.gemspec
accordingly.
Forked From
https://github.com/janczizikow/sleek
License
The theme is available as open source under the terms of the MIT License.