bland is yet another "minimal" theme for Jekyll: it is very plain-looking by design, with no frills, embellishment or fancy fandangles to be found.
The main feature of bland is that there are very few features. What bland offers is a very stable, clean base that you can extend further to fulfil your own needs, or leave as-is for a snappy lightweight site.
What bland can offer you is:
- 4 (relatively) responsive layouts for your content:
pageis a layout for your pages
postis a layout for your posts
listingis a layout for listing posts
tagsis a layout for generating a list of your tags and the posts that have those tags
- An elegant, clean look
- Simple CSS that is easy to extend and customise
- Nothing else!
Want to add Google Analytics to your site? Or Disqus comments? Override the default layouts, add some includes, and do it yourself.
Add this line to your Jekyll site's
And add this line to your Jekyll site's
And then execute:
Or install it yourself as:
$ gem install jekyll-bland
To override the default structure and style of bland, simply create the concerned directory at the root of your site, copy the file you wish to customise to that directory, and then edit the file. For example, to override the
_includes/head.html file to specify a custom style path, you would need to:
- create an
_includesdirectory in the root of your site
_includes/head.htmlfrom the bland gem to your new
- edit that file
There are a number of variables used in the CSS for this theme that are available for you to customise, should you wish to do so. Take a look at bland.scss for all of them, and their default values.
Customising the values of variables works in a similar way to overriding the
head.html file metioned above:
assets/css/main.scssfrom the bland gem to your site's
assets/cssdirectory (you might have to create this if it doesn't exist)
- set the values of any variables before the
For example, to change the default font used throughout the site, this is what your
assets/css/main.scss file should look like:
--- --- @charset "utf-8"; // Use a sans-serif font $font-main: Helvetica, Arial, sans-serif; // Import the bland theme styles @import "bland";
Note the dashes at the top of the file; these are required to get jekyll to render the file properly.
You can also create your stylesheets and
@include them here to further customise the theme, if you want to.
If you choose to assign tags to your posts, then they will appear at the bottom of each post. Clicking on one of these tags will attempt to link to the section for that tag on the tags page, which will list all other posts under that tag.
Tag page, you say? Yes. You'll need to make this yourself, by creating a new page and putting the
layout:tags key in the front matter. The default path for the tags page is
/tags/index.html, but this can be adjusted with the
tags_page key in your site's
By default, the navigation links at the top of the site will automatically include a link for every page in your jekyll site. If you want to exclude a page from the nav, you can simply include a
nav_exclude key as part of the page's front matter:
--- layout: tags permalink: /tags/ title: Tags nav_exclude: true ---
The format of the date used in post listings and at the top of each post page can be easily customised through the following settings in your site's
# Use the same date in both listings and post pages date_format: "%-d %b %Y" # Or customise them separately: listing_date_format: "%-d %b %Y" post_date_format: "%-d %B %Y"
To set up your environment to develop this theme, run
To test your theme, run
bundle exec rake preview and open your browser at
http://localhost:4000/bland. This starts a Jekyll server using the theme and the contents of the
example directory. As you make modifications to the theme and the example site, the preview will regenerate and you should see the changes in the browser after a refresh.
The theme is available as open source under the terms of the MIT License.