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)
1 回答
您可以添加一个带有类变量的模块来存储持久值,然后在您的标记类中包含该模块 . 您需要适当的访问器,具体取决于变量的类型和您可能想要进行的分配 . 这是一个简单的例子,它实现了一个简单的计数器,用于跟踪
DataToKeep::my_val
中标记被调用的次数: