我今天花了一些时间尝试用 Jekyll 为http://bitcoin.org/clients.html做一些简单的事情
我们有一个比特币软件列表,并且每隔一段时间就会重新生成该页面。如果客户的顺序是随机的,以获得相同的曝光率,那就太好了。
{% random page.clients %}
{% for client in page.clients %}
...
我确定这很简单:
class Random < Liquid::Tag
def initialize(tag_name, collection_name, tokens)
@collection_name = collection_name.to_s
super
end
def render(context)
collection = context[@collection_name]
collection = collection.sort_by{rand}
context[@collection_name] = collection
super
end
end
Liquid::Template.register_tag('random', Random)
为什么它不起作用?我看完全没有变化。
我假设我没有正确分配给 page.clients,因为如果我尝试:
context[:foo] = collection
{% random page.clients %}
{% for client in page.clients %}
...
然后我得到一个空白页。但是打印@collection_name 会显示“page.clients”...
有任何想法吗?
谢谢