Jekyll Extensions
There are no third-party dependencies in Jekyll Boilerplate, so a couple of extensions have been baked-in to provide key features.
Pagination
The pagination extension handles paging for your articles, posts, or blogs.
It’s based on the original jekyll-paginate
plugin, but in part of the boilerplate, not a dependency.
See also, Paging Config.
Breadcrumbs
The breadcrumbs extensions shows the path to the current content, to help users orient themselves within the site. It also adds structured data to help search engines understand the structure of the website.
It’s based on jekyll-breadcrumbs
, but is part of the boilerplate and works with the custom front matter.
Authors
Authors are baked-in, allowing you to link posts to an author and display an author page, based on Jet Holt’s Jekyll articles.
It used the authors
front matter, see the front matter page for more information.
See also, Theme Config
Search
The built-in search uses search.json
to get instant results. The search is perform client-side in real-time where JavaScript is enabled.
If JavaScript isn’t enabled, or the data cannot be loaded, the search falls back to the external search, for example Google Search with a “site” specified.
For some search providers, you might need to supply the site to search in a separate parameter to the query. If this is the case, set search_fallback_site
to be the site-name parameter. search_fallback_query
is for the search term.
See also, Search Config
Liquid Translations
For text in template items, translations are retrieved from _data/language.yaml
.
navigation:
title:
en: Navigation
Language keys are lower-case ISO codes, so en
, en-gb
, fr
, fr-be
.
It is recommended that you add base language sets (i.e. en
) before extending them with specific language sets (i.e. en-us
). The specific language set only needs to supply items where there is a difference.
car:
wheel:
en: wheel # will be used for en and en-US
bonnet:
en: bonnet
en-US: hood
Liquid regex_replace
This has been included as it supports pagination features.
Replace all:
'Replaces 1 All 2 Number 3' | regex_replace: '[0-9]', ''
Replace one:
'Replaces 1 One 2 Number 3' | regex_replace_once: '[0-9]', ''
Liquid isnil
page.some-bool | isnil: true
In the below example, if item.nav-search
isn’t supplied (either nil
or and empty string), the supplied default will be used.
assign nav_search = item.nav-search | isnil: true