输出液体模板中的可用对象和属性

时间:2013-08-25 20:26:14

标签: ruby jekyll liquid

有没有办法在liquid template中输出(用于调试/提供信息)可用对象和对象属性?

也就是说,我说我正在使用jekyll网站生成工具,而且我在我的index.html模板中(根据我的理解,这是一个流动模板)。它可能看起来像这样

{% for post in site.posts %}
  <li><span>{{ post.date | date_to_string }}</span> &raquo; <a href="{{ post.url }}">{{ post.title }}</a></li>
{% endfor %}

我是否可以使用任何模板标签告诉我/输出此模板中可用的名为post的变量(以及其他模板)。另外,我可以使用任何模板标签告诉我post对象有密钥datetitleurlexcerpt,{{ 1}}等等。

1 个答案:

答案 0 :(得分:1)

从我所知道的Liquid模板中无法做到这一点。我使用以下一些Ruby代码来测试Jekyll(setup_post是Jekyll测试套件中的辅助方法)

post = setup_post("2008-11-21-complex.textile")
classes = []
Liquid::Template.parse(post.content).root.nodelist.each do |token|
  classes << token.name if token.is_a?(Liquid::Variable)
end

应该可以编写一个Jekyll插件,可以根据上面的代码在你的页面上输出这些东西。