为什么jekyll服务失败?

时间:2018-06-07 20:03:20

标签: ruby pagination jekyll liquid jekyll-paginator

我想在我的Jekyll网站上启用分页,但是会发生这种情况:

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'

我想我跟着the docs来了一个发球台:

_config.yml

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

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

index.html文件已在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

log/index.html的内容,我试图至少打印paginator.posts个对象。根据文档,前面的内容没有永久链接:

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

{% paginator.posts %}

这是父log(博客)模板:

---
layout: default
---

<div class="blog">

  {{ content }}

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

jekyll-paginate中有Gemfile

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

成功运行bundle install

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.

我卸载了所有版本的jekyll,但正在使用的版本除外,例如this answer

我也像this answer中的gem cleanup && bundle exec jekyll serve一样尝试,并获得了上面列出的相同例外。

环境:

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

我错过了什么?

1 个答案:

答案 0 :(得分:1)

嗯,是的,我做了一个哎呀。我将paginator写为液体标记,也就是命令(如if)而不只是调用变量/对象。

{% paginator %}更改为{{ paginator }}是解决方案。