Use fewer layouts
- Author Benjy Stanton
- Date
- Category
Jekyll uses templates stored in the _layouts
folder to apply reusable designs to its pages. In a previous release, I created a list of page layouts in use on this site to help me spot inconsistencies.
For this release I've started to reduce the inconsistencies and duplicate code. The user story is the same though…
User story
As a user, I need the website pages to be consistent, so that I can read and browse them easily.
Acceptance criteria
- Combine the
page
andpost
layout into one - Update the
index.md
to use the page layout - Update the style guide to reflect the changes
What's changed
The biggest change was combining the page
and post
layouts. They are very similar, so it makes sense to merge them. But I do need to check if a page is a blog post, so that I can show the post date.
The if
statement looks something like this…
{% if page.is_post %}
<small>{{ page.date | date: "%e %B %Y" }}</small>
{% endif %}
So that posts know they are posts, I had to add the following snippet to the _config.yml
file.
defaults:
-
scope:
path: "" # empty string for all files
type: posts # limit to posts
values:
is_post: true # automatically set is_post=true for all posts