【发布时间】:2015-03-24 09:59:54
【问题描述】:
假设我有两个链接:“所有帖子”和“个人”。当用户单击“个人”链接时,他应该只看到具有“个人”类别的帖子。现在,液体标签是{% for post in site.posts %}。我想了解是否有办法从javascript访问变量site.posts,以便我可以监听点击事件并动态过滤帖子。如果没有,我该怎么办?
【问题讨论】:
标签: javascript jekyll liquid
假设我有两个链接:“所有帖子”和“个人”。当用户单击“个人”链接时,他应该只看到具有“个人”类别的帖子。现在,液体标签是{% for post in site.posts %}。我想了解是否有办法从javascript访问变量site.posts,以便我可以监听点击事件并动态过滤帖子。如果没有,我该怎么办?
【问题讨论】:
标签: javascript jekyll liquid
你可以让 Jekyll 解析任何文件,方法是给它添加一个空的front matter。
示例: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。
【讨论】:
Liquid Exception: SyntaxError: Unexpected token 警告。