Jekyll:javascript中的液体标签

时间:2015-01-25 22:49:27

标签: javascript jekyll liquid

假设我有两个链接:“所有帖子”和“个人”。当用户点击“个人”链接时,他应该只看到具有“个人”类别的帖子。现在,液体标签是{% for post in site.posts %}。我想知道是否有办法从javascript访问变量site.posts,这样我就可以听取click事件并动态过滤帖子。如果没有,我该怎么办?

1 个答案:

答案 0 :(得分:16)

你可以让Jekyll通过向它添加一个空的前端来解析任何文件。

示例:assets / js / script.js

编辑16/07/28 :您可以将jsonify filter用于任何哈希或数组

---
---
{{ site.posts | jsonify }}

旧答案

---
---
{% capture posts %}
[
{% for post in site.posts %}
{
"title"    : "{{ post.title }}",
"url"      : "{{ post.url }}",
"date"     : "{{ post.date | date: "%B %d, %Y" }}",
"content"  : "{{ post.content | escape }}"
} {% if forloop.last %}{% else %},{% endif %}
{% endfor %}
]
{% endcapture %}
var posts = {{posts | strip_newlines}}

这会将site.posts对象集合放在json表单中,并将它们归于javascript posts var。