“这是怎么回事?”;“优先权”;Jekyll插件中的标志应该工作吗?

“这是怎么回事?”;“优先权”;Jekyll插件中的标志应该工作吗?,jekyll,jekyll-extensions,Jekyll,Jekyll Extensions,我目前正在尝试为Jekyll开发一个插件,它将有助于响应图像的使用。目前的来源是,我会使它成为一个宝石以后当/如果它工作 此插件有两个功能: 用于定义Cloudinary图像的液体标记,如{%Cloudinary[preset]path/to/img.jpg[attr=“value”]%} Optionnal的转换器可以自动将图像的标准Markdown/Kramdown语法转换为此液体标记:![alt text](path/to/img.jpg){:caption=“caption text”

我目前正在尝试为Jekyll开发一个插件,它将有助于响应图像的使用。目前的来源是,我会使它成为一个宝石以后当/如果它工作

此插件有两个功能:

  • 用于定义Cloudinary图像的液体标记,如
    {%Cloudinary[preset]path/to/img.jpg[attr=“value”]%}
  • Optionnal的转换器可以自动将图像的标准Markdown/Kramdown语法转换为此液体标记:
    ![alt text](path/to/img.jpg){:caption=“caption text”}
    变成
    {%cloudinary path/to/img.jpg alt=“alt text”caption=“caption text”%}
目前,这两个功能都能按预期工作,但它们没有“链接”。如果我在降价中使用Liquid标记,则会对其进行评估。如果我放置一个标准的标记图像,它将转换为
{%cloudinary…%}
Liquid标记,但不会计算该标记

我怀疑这两个特性没有按正确的顺序运行,所以我想确保在计算Liquid标签之前执行转换器

但是我还不知道怎么用这个

如果我取消注释并运行
bundle exec jekyll service
,则会出现以下错误:

$ bundle exec jekyll serve
Configuration file: /Users/nhoizey/Dropbox/Personnel/Devs/nicolas-hoizey.com/_config.yml
jekyll 3.1.6 | Error:  undefined method `priority' for Jekyll::CloudinaryTag:Class
Did you mean?  print
有什么想法吗

编辑(7月11日):

我现在已经将它拆分为多个插件

转换器仍在我网站的
\u plugins
文件夹中:

杰基尔并不抱怨这个“优先权”标志

Liquid标签现在是一个真正的自主插件gem,名为
jekyll cloudinary

如果我在这个插件中加上“优先级”标志,我仍然会得到错误:

$ bundle exec jekyll serve                                                                                 bundler: failed to load command: jekyll (/usr/local/bin/jekyll)
Bundler::GemRequireError: There was an error while trying to load the gem 'jekyll-cloudinary'.
Gem Load Error is: undefined method `priority' for Jekyll::Cloudinary::CloudinaryTag:Class
Did you mean?  print
Backtrace for gem load error is:
/usr/local/lib/ruby/gems/2.3.0/gems/jekyll-cloudinary-1.2.2/lib/jekyll/cloudinary.rb:5:in `<class:CloudinaryTag>'
/usr/local/lib/ruby/gems/2.3.0/gems/jekyll-cloudinary-1.2.2/lib/jekyll/cloudinary.rb:4:in `<module:Cloudinary>'
/usr/local/lib/ruby/gems/2.3.0/gems/jekyll-cloudinary-1.2.2/lib/jekyll/cloudinary.rb:2:in `<module:Jekyll>'
/usr/local/lib/ruby/gems/2.3.0/gems/jekyll-cloudinary-1.2.2/lib/jekyll/cloudinary.rb:1:in `<top (required)>'
/usr/local/lib/ruby/gems/2.3.0/gems/jekyll-cloudinary-1.2.2/lib/jekyll-cloudinary.rb:1:in `require'
/usr/local/lib/ruby/gems/2.3.0/gems/jekyll-cloudinary-1.2.2/lib/jekyll-cloudinary.rb:1:in `<top (required)>'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/runtime.rb:86:in `require'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/runtime.rb:86:in `block (2 levels) in require'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/runtime.rb:81:in `each'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/runtime.rb:81:in `block in require'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/runtime.rb:70:in `each'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/runtime.rb:70:in `require'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler.rb:102:in `require'
/usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.1.6/lib/jekyll/plugin_manager.rb:34:in `require_from_bundler'
/usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.1.6/bin/jekyll:9:in `<top (required)>'
/usr/local/bin/jekyll:22:in `load'
/usr/local/bin/jekyll:22:in `<top (required)>'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/cli/exec.rb:63:in `load'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/cli/exec.rb:63:in `kernel_load'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/cli/exec.rb:24:in `run'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/cli.rb:304:in `exec'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/vendor/thor/lib/thor.rb:359:in `dispatch'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/vendor/thor/lib/thor/base.rb:440:in `start'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/cli.rb:11:in `start'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/exe/bundle:27:in `block in <top (required)>'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/friendly_errors.rb:98:in `with_friendly_errors'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/exe/bundle:19:in `<top (required)>'
/usr/local/bin/bundle:22:in `load'
/usr/local/bin/bundle:22:in `<main>'
Bundler Error Backtrace:

  /usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/runtime.rb:89:in `rescue in block (2 levels) in require'
  /usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/runtime.rb:85:in `block (2 levels) in require'
  /usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/runtime.rb:81:in `each'
  /usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/runtime.rb:81:in `block in require'
  /usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/runtime.rb:70:in `each'
  /usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/runtime.rb:70:in `require'
  /usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler.rb:102:in `require'
  /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.1.6/lib/jekyll/plugin_manager.rb:34:in `require_from_bundler'
  /usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.1.6/bin/jekyll:9:in `<top (required)>'
  /usr/local/bin/jekyll:22:in `load'
  /usr/local/bin/jekyll:22:in `<top (required)>'
$bundle exec jekyll serve bundler:未能加载命令:jekyll(/usr/local/bin/jekyll)
Bundler::GemRequireError:尝试加载gem“jekyll cloudinary”时出错。
Gem加载错误为:Jekyll::Cloudinary::CloudinaryTag:Class的未定义方法“priority”
你是说?打印
gem加载错误的回溯跟踪为:
/usr/local/lib/ruby/gems/2.3.0/gems/jekyll-cloudinary-1.2.2/lib/jekyll/cloudinary.rb:5:in`'
/usr/local/lib/ruby/gems/2.3.0/gems/jekyll-cloudinary-1.2.2/lib/jekyll/cloudinary.rb:4:in`'
/usr/local/lib/ruby/gems/2.3.0/gems/jekyll-cloudinary-1.2.2/lib/jekyll/cloudinary.rb:2:in`'
/usr/local/lib/ruby/gems/2.3.0/gems/jekyll-cloudinary-1.2.2/lib/jekyll/cloudinary.rb:1:in`'
/usr/local/lib/ruby/gems/2.3.0/gems/jekyll-cloudinary-1.2.2/lib/jekyll-cloudinary.rb:1:in'require'
/usr/local/lib/ruby/gems/2.3.0/gems/jekyll-cloudinary-1.2.2/lib/jekyll-cloudinary.rb:1:in`'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/runtime.rb:86:in'require'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/runtime.rb:86:in'block(2层)in require'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/runtime.rb:81:in'each'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/runtime.rb:81:in'block in require'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/runtime.rb:70:in'each'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/runtime.rb:70:in'require'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler.rb:102:in'require'
/usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.1.6/lib/jekyll/plugin\u manager.rb:34:in'require\u from\u bundler'
/usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.1.6/bin/jekyll:9:in`'
/usr/local/bin/jekyll:22:在“加载”中
/usr/local/bin/jekyll:22:in`'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/cli/exec.rb:63:in'load'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/cli/exec.rb:63:在“内核加载”中
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/cli/exec.rb:24:在“运行”中
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/cli.rb:304:in'exec'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/vendor/thor/lib/thor/command.rb:27:in'run'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:在“invoke_命令”中
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/vendor/thor/lib/thor.rb:359:在'dispatch'中
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/vendor/thor/lib/thor/base.rb:440:在“开始”中
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/cli.rb:11:in'start'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/exe/bundle:27:in'block-in'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/friendly_errors.rb:98:in“with_-friendly_errors”
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/exe/bundle:19:in`'
/usr/local/bin/bundle:22:在“加载”中
/usr/local/bin/bundle:22:in`'
捆绑程序错误回溯:
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/runtime.rb:89:“请求中的块(2级)救援”
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/runtime.rb:85:in'block(2层)in require'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/runtime.rb:81:in'each'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/runtime.rb:81:in'block in require'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/runtime.rb:70:in'each'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler/runtime.rb:70:in'require'
/usr/local/lib/ruby/gems/2.3.0/gems/bundler-1.12.5/lib/bundler.rb:102:in'require'
/usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.1.6/lib/jekyll/plugin\u manager.rb:34:in'require\u from\u bundler'
/usr/local/lib/ruby/gems/2.3.0/gems/jekyll-3.1.6/bin/jekyll:9:in`'
/usr/local/bin/jekyll:22:在“加载”中
/usr/local/bin/jekyll:22:in`'
为什么它适用于一个插件而不适用于另一个


如何确保在解释
jekyll cloudinary
Liquid标记之前运行
cloudinary
Converter插件?

J的子类引入了
priority
标志