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

标签 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 对象具有键 datetitleurl摘录永久链接

最佳答案

据我所知,无法通过 Liquid 模板执行此操作。不过,我在 Jekyll 的测试中使用了以下 Ruby 代码来完成它(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 插件,在你的页面上输出这些东西。

关于ruby - 输出液体模板中的可用对象和属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18433333/

相关文章:

ruby-on-rails - Rails 3 在 Ruby 1.9.2 上初始化非常慢

css - 覆盖 SCSS 属性

Jekyll - 如果博客文章有超过 1 个 post.tag,则显示一条消息,否则显示标签名称

include - Jekyll/Liquid 动态包含文件

ruby-on-rails - Rspec:让不工作

Ruby:删除字符串开头的空白字符

html - Jekyll 中循环计数器的增量

liquid - Shopify 液体截断

shopify - Shopify Liquid 中的空白控制

ruby - 逻辑或操作顺序/优先级不符合预期