Skip to content

Odeandie/odeandie.github.io

 
 

Repository files navigation

layout title
page
Hitchens

An inarguably well-designed Jekyll theme by Pat Dryburgh.

Hitchens Preview

Undoubtably one of the great minds of our time, Christopher Hitchens challenged his readers to think deeply on topics of politics, religion, war, and science. This Jekyll theme's design is inspired by the trade paperback version his book, Arguably, and is dedicated to his memory.

Quick Start

This theme is, itself, a Jekyll blog, meaning the code base you see has everything you need to run a Jekyll powered blog!

To get started quickly, follow the instructions below:

  1. Click the Fork button at the top of the repository;
  2. Go to your forked repo's Settings screen;
  3. Scroll down to the GitHub Pages section;
  4. Under Source, select the Master branch;
  5. Hit Save.
  6. Follow Jekyll's instructions to configure your new Jekyll site.

Manual Installation

If you've already created your Jekyll site or are comfortable with the command line, you can follow Jekyll's Quickstart instructions add this line to your Jekyll site's Gemfile:

gem "hitchens-theme"

And add the following lines to your Jekyll site's _config.yml:

theme: hitchens-theme

Depending on your site's configuration, you may also need to add:

ignore_theme_config: true

And then on the command line, execute:

$ bundle

Or install the theme yourself as:

$ gem install hitchens-theme

Usage

Home Layout

The home layout presents a list of articles ordered chronologically. The theme uses Jekyll's built-in pagination which can be configured in your _config.yml file.

The masthead of the home page is derived from the title and description set in your site's _config.yml file.

Navigation

To include a navigation menu in your site's masthead and footer:

  1. Create a _data directory in the root of your site.
  2. Add a menu.yml file to the _data directory.
  3. Use the following format to list your menu items:
- title: About
  url: /about.html

- title: Source
  url: https://github.com/patdryburgh/hitchens

Be sure to start your urls with a /.

Pagination

To paginate your posts, add the following line to your site's Gemfile:

gem "jekyll-paginate"

Then, add the following lines to your site's _config.yml file:

plugins:
  - jekyll-paginate

paginate: 20
paginate_path: "/page/:num/"

You can set the paginate and paginate_path settings to whatever best suits you.

Excerpts

To show excerpts of your blog posts on the home page, add the following settings to your site's _config.yml file:

show_excerpts: true

By default, excerpts that have more than 140 characters will be truncated to 20 words. In order to override the number of words you'd like to show for your excerpts, add the following setting to your site's _config.yml file:

excerpt_length: 20

To disable excerpt truncation entirely, simply set excerpt_length to 0 in your site's _config.yml file, like so:

excerpt_length: 0

If you do this, the theme will still respect Jekyll's excerpt_separator feature as described in the Jekyll documentation.

Title-less Posts

If you want to publish posts that don't have a title, add the following setting to the front matter of the post:

title: ""

When you do this, the home page will display a truncated excerpt of the first paragraph of your post.

Note that setting excerpt_length in your site's _config.yml file will set the length of all excerpts, regardless of whether the post has a title or not. For posts with a title, the excerpt will appear under the title and slightly lighter. For title-less posts, the excerpt will appear as if it were a title.

Post Layout

A sparsely decorated layout designed to present long-form writing in a manner that's pleasing to read.

To use the post layout, add the following to your post's front matter:

layout: post

Icons

The JSON Feed spec states that feeds should include an icon. To add your icon, add the following line in your site's _config.yml file:

feed_icon: /assets/images/icon-512.png

Then, replace the /assets/images/icon-512.png file with your own image.

Credits

The theme credits that appear at the bottom of each page can be turned off by including the following line in your site's _config.yml file:

hide_credits: true

Search

The theme uses a custom DuckDuckGo Search Form that can be turned off by including the following line in your site's _config.yml file:

hide_search: true

Font

I spent a good amount of time trying to identify the font used on the front cover of the trade paperback version of Arguably. Unfortunately, I failed to accurately identify the exact font used. If you happen to know what font is used on the book cover, I would appreciate you letting me know :)

The theme includes a version of EB Garamond, designed by Georg Duffner and Octavio Pardo. It's the closest alternative I could come up with that included an open license to include with the theme.

A copy of the license has been included in the assets folder and must be included with any distributions of this theme that include the EB Garamond font files.

Contributing & Requesting Features

Bug reports, feature requests, and pull requests are welcome on GitHub at https://github.com/patdryburgh/hitchens.

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.

The theme is setup just like a normal Jekyll site. To test the theme, run bundle exec jekyll serve and open your browser at http://localhost:4000. This starts a Jekyll server using the theme. Add pages, documents, data, etc. like normal to test the theme's contents. As you make modifications to the theme and to your content, your site will regenerate and you should see the changes in the browser after a refresh, just like normal.

License

The code for this theme is available as open source under the terms of the MIT License.

The font, EB Garamond, is Copyright 2017 The EB Garamond Project Authors and licensed under the SIL Open Font License Version 1.1.

Graphics are released to the public domain.

Languages

  • SCSS 59.2%
  • HTML 37.1%
  • Ruby 3.7%