Jekyll 如何在';杰基尔大厦';?

Jekyll 如何在';杰基尔大厦';?,jekyll,liquid,jekyll-extensions,Jekyll,Liquid,Jekyll Extensions,我正在将一个定制的Liquid标记编码为Jekyll-plugin,在当前运行的Jekyll-build命令中调用该标记之前,我需要为其保留一些值 是否有一些全局位置/命名空间可用于存储和检索值(最好是键值对/散列)?您可以添加一个带有类变量的模块来存储持久值,然后将该模块包含在标记类中。根据变量的类型和可能要进行的赋值,您需要适当的访问器。下面是一个实现简单计数器的简单示例,该计数器跟踪在DataToKeep::my_val中调用标记的次数: module DataToKeep @@my_

我正在将一个定制的Liquid标记编码为Jekyll-plugin,在当前运行的
Jekyll-build
命令中调用该标记之前,我需要为其保留一些值


是否有一些全局位置/命名空间可用于存储和检索值(最好是键值对/散列)?您可以添加一个带有类变量的模块来存储持久值,然后将该模块包含在标记类中。根据变量的类型和可能要进行的赋值,您需要适当的访问器。下面是一个实现简单计数器的简单示例,该计数器跟踪在
DataToKeep::my_val
中调用标记的次数:

module DataToKeep
  @@my_val = 0

  def my_val
    @@my_val
  end

  def my_val= val
    @@my_val = val
  end
end

module Jekyll
  class TagWithKeptData < Liquid::Tag
    include DataToKeep

    def render(context)
      self.my_val = self.my_val + 1
      return "<p>Times called: #{self.my_val}</p>"
    end
  end
end

Liquid::Template.register_tag('counter', Jekyll::TagWithKeptData)
datatokep模块
@@my_val=0
定义我的值
@@我的妻子
结束
def my_val=val
@@my_val=val
结束
结束
杰基尔模块
类TagWithKeptData”
结束
结束
结束
Liquid::Template.register_标记('counter',Jekyll::TagWithKeptData)