A bookshelf and book reviews for your Jekyll site, built for Minima, based on jekyll-book-review. 📚
The purpose of this project is to **provide Jekyll users with a simple, hackable template for managing their book reviews **.
It consists in two HTML layouts:
_layouts/books.html
displays a list of books (that is, a virtual bookshelf) that belong to a custom Jekyll collection_layouts/review.html
displays an individual book review with the book's cover, either self-hosted or imported through the Open Library Covers API.It was developed for Minima (the Jekyll default theme) and can be set up on a site running Minima in minutes, but it can also be easily adapted to any theme.
Okay, here's the demo (on an out-of-the-box Jekyll site running Minima).
Requirements: a functional Jekyll site.
Summary (for the Minima theme)
books
collectionbooks.html
and review.html
layouts to your _layout
directorybase_path
to your _includes
direcotrybooks
layoutreview
layoutbooks
collectionTo get started with custom collections, you need to set them up in your Jekyll configuration file.
First, copy this code into your _config.yml
file in your Jekyll root directory:
# Collections
collections:
books:
output: true
permalink: /:collection/:title/
future: true
header_pages:
- books.md
- about.md
include:
- images
What it does:
books
future: true
option will help us list books that we would like to read (that is, books added now with a future date)images
directory will store a folder named covers
containing the book covers.Then, create a folder named _books
in your Jekyll root directory. This is where you'll write your book reviews!
For more information about collections, see Jekyll's amazing docs.
books.html
and review.html
layouts to your _layouts
directoryThis step is pretty straightforward.
Copy the _layouts
folder at the root of this repo into your Jekyll root directory.
If you have an existing _layouts
folder in your Jekyll root, simply add in there the two template files, books.html
and review.html
.
base_path
file to your _includes
directoryThis file helps us fetch the base url of the website and is used to display the book covers
Copy the base_path
filed at the _includes
directory of this repo into your Jekyll _includes
directory.
books
layoutCopy books.md
to your root Jekyll directory.
The front matter:
layout: books
in the front matter - this will display your books listlist_title: My reviews
in the front matter to override the default "Latest reviews"title: Books
and a permalink with permalink: /books/
The contents:
review
layoutYou're all set up!
Writing a book review works much like writing a post.
Optionally, copy the book review template
to your new /_books
folder.
The front matter:
layout: review
in the front matterdate: YYYY-MM-DD HH:MM:SS
(this will display as the date you've added(?) the book)title: A Great Book
author: My Favourite Writer
year: 2018
/assets/covers
and specify your image's file name in front matter with cover: "2018-01-01-book-cover.jpg"
olid: OL7243520M
or the book's ISBN with for example isbn: 9780156439619
(warning: some ISBNs do not yet have a listing on the Open Library and won't return a cover image)status
. It displays a colour-coded caption depending of the value you have entered, viz., "Finished", "Reading", "Queued", "Interested", and even "Abandoned".start
and end
to indicate the date you started and finished the book respectively.A few additional notes about book covers:
cover:
, olid:
or isbn:
.cover:
, if not look for an Open Library ID, if not look for an ISBN, and if not will not display any cover imageThe contents: