shender
shender

Reputation: 1283

Why does jekyll serve fail with pagination?

I want to enable pagination on my Jekyll site, but this happens:

jekyll serve
WARN: Unresolved specs during Gem::Specification.reset:
      eventmachine (>= 0.12.9)
      listen (~> 3.0)
      rouge (< 4, >= 1.7)
      rb-fsevent (>= 0.9.4, ~> 0.9)
      rb-inotify (>= 0.9.7, ~> 0.9)
WARN: Clearing out unresolved specs.
Please report a bug if this causes problems.
Configuration file: /Users/sean/dev/sh78.github.io/_config.yml
            Source: /Users/sean/dev/sh78.github.io
       Destination: /Users/sean/dev/sh78.github.io/_site
 Incremental build: disabled. Enable with --incremental
      Generating...
  Liquid Exception: Liquid syntax error (line 1): Unknown tag 'paginator' in log/index.html
jekyll 3.8.3 | Error:  Liquid syntax error (line 1): Unknown tag 'paginator'

I think I followed the docs to a tee:

In _config.yml:

plugins:
 - jekyll-feed
 - jekyll-seo-tag
 - jekyll-paginate

paginate: 2
paginate_path: "/log/page:num/"

The index.html file is in place as defined in paginate_path

ls
404.html      README.md     _posts/       favicon.ico
Gemfile       _config.yml   _sass/        favicon.png
Gemfile.lock  _includes/    _site/        index.md
LICENSE.txt   _layouts/     assets/       log/

ls log/
index.html

Contents of log/index.html, where I'm trying to at least print the paginator.posts object. There is no permalink in the front matter per the docs:

---
layout: log
title: log
icon: pencil-alt
description: >
  Sean's blog. Articles about software and other things.
---

{% paginator.posts %}

Here is the parent log (blog) template:

---
layout: default
---

<div class="blog">

  {{ content }}

  {%- if site.posts.size > 0 -%}
  {% comment %} *truncated* (it works fine) {% endcomment %}

I have jekyll-paginate in my Gemfile:

# If you have any plugins, put them here!
group :jekyll_plugins do
  gem "jekyll-feed", "~> 0.6"
  gem "jekyll-paginate"
end

And ran bundle install successfully:

bundle install
Using public_suffix 3.0.2
Using addressable 2.5.2
Using bundler 1.16.2
Using colorator 1.1.0
Using concurrent-ruby 1.0.5
Using eventmachine 1.2.7
Using http_parser.rb 0.6.0
Using em-websocket 0.5.1
Using ffi 1.9.25
Using forwardable-extended 2.6.0
Using i18n 0.9.5
Using rb-fsevent 0.10.3
Using rb-inotify 0.9.10
Using sass-listen 4.0.0
Using sass 3.5.6
Using jekyll-sass-converter 1.5.2
Using ruby_dep 1.5.0
Using listen 3.1.5
Using jekyll-watch 2.0.0
Using kramdown 1.17.0
Using liquid 4.0.0
Using mercenary 0.3.6
Using pathutil 0.16.1
Using rouge 3.1.1
Using safe_yaml 1.0.4
Using jekyll 3.8.3
Using jekyll-feed 0.9.3
Using jekyll-paginate 1.1.0
Using jekyll-seo-tag 2.5.0
Using minimaterialize 1.1.2
Bundle complete! 5 Gemfile dependencies, 30 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.

I uninstalled all versions of jekyll except the one in use, like this answer.

I also tried like gem cleanup && bundle exec jekyll serve like in this answer, and got the same exception listed above.

Environment:

jekyll -v
WARN: Unresolved specs during Gem::Specification.reset:
      eventmachine (>= 0.12.9)
      listen (~> 3.0)
      rouge (< 4, >= 1.7)
      rb-fsevent (>= 0.9.4, ~> 0.9)
      rb-inotify (>= 0.9.7, ~> 0.9)
WARN: Clearing out unresolved specs.
Please report a bug if this causes problems.
jekyll 3.8.3

ruby -v
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]

gem -v
2.5.1

What am I missing?

Upvotes: 0

Views: 601

Answers (1)

shender
shender

Reputation: 1283

Well, yeah, I made an oops. I wrote paginator as a liquid tag, aka command (like if) instead of just calling a variable/object.

Changing {% paginator %} to {{ paginator }} is the solution.

Upvotes: 1

Related Questions