Example 01::Typical Blog
This example site shows how the pagination gem can be used on a simple blog site.
The site is generated using the jekyll built in new command
jekyll new myblog and it uses the default
After generating the pagination gem was installed using
gem install jekyll-paginate-v2
The blog has only one type of posts, blog posts. No category pagination is performed. To implement the pagination for the minima theme the
_layouts/home.html needed to be modified to call the pagination logic.
_includes/header.html was also overridden to omit listing the auto-generated pagination sites at the top of the header part.
The gem is added to the
_config.yml file under
gems: - jekyll-paginate-v2
as well as to the
Gemfile into the main loop
group :jekyll_plugins do gem "jekyll-paginate-v2" gem "jekyll-feed" end
At this point is is advisable to delete the
Gemfile.lock file to clear out any potential issues with gem caching and dependency issues (no worries this file will be auto generated for you again).
Configuring the pagination
Add the pagination configuration to
# Pagination Settings pagination: enabled: true per_page: 3 permalink: '/page/:num/' title_suffix: ' - page :num' limit: 0 sort_field: 'date' sort_reverse: true
Due to the way the entries in the blog utilize multiple categories it is also good to explicitly state the permalink format to avoid excessive nesting of the post pages. So place the following line into the
_config.yml file as well
# Produces a cleaner folder structure when using categories permalink: /:year/:month/:title.html
Completing the setup
Now the pagination simply needs to be enabled in the
--- layout: home pagination: enabled: true ---
That is it, no further configuration is needed!
Try building the site yourself using
jekyll build or
Testing backwards compatability
_config.yml file remove or comment out the new
pagination: configuration and paste/uncomment the following configuration instead.
# Old jekyll-paginate pagination logic paginate: 3 paginate_path: "/legacy/page:num/"
jekyll serve again and the gem will generate the pagination according to the old jekyll-paginate rules and behavior.
You must disable the new pagination configuration for the old one to work. You cannot run both configurations at the same time.