好吧,你需要一个插件:https ://github.com/mojombo/jekyll/wiki/Plugins
如果您乐于将逻辑放入您的插件中,您可以在自定义 Liquid::Tag 中执行此操作,但您的要求听起来像是需要一个生成器,这没关系。我只是把它放在一起,它似乎可以按照你的意愿工作:
module Jekyll
class RandomNumberGenerator < Generator
def generate(site)
site.pages.each do |page|
a = Array.new
1000.times { a << rand(2) }
page.data['random_numbers'] = a
end
end
end
end
这应该放在你的 _plugins/ 目录中(如 rand.rb 或其他东西)。在您的模板中,您可以执行
<ul>
{% for number in page.random_numbers %}
<li>{{ number }}</li>
{% endfor %}
</ul>
或者任何你想要的。我假设您需要为每个页面设置一组不同的数字 - 但如果您需要为整个站点设置一组,您可以轻松地生成一次数组,然后将其附加到站点对象或每个页面。
这不适用于 Github Pages 上的自动生成(出于显而易见的原因,它们不允许自定义插件),但这应该不是问题 - 即使您使用的是 Github Pages,也有很多解决方法。