Supponiamo di avere due collegamenti: "tutti i post" e "personale". Quando l'utente fa clic sul link "personale", dovrebbe vedere solo i post che hanno la categoria "personale". In questo momento, il tag del liquido è {% for post in site.posts %}
. Voglio sapere se c'è un modo per accedere alla variabile site.posts
da javascript, in modo che io possa ascoltare l'evento click e filtrare dinamicamente il post. Se no, cosa dovrei fare?Jekyll: etichetta liquida all'interno javascript
8
A
risposta
14
È possibile fare in modo che Jekyll analizzi qualsiasi file aggiungendo una parte anteriore vuota ad esso.
esempio: attività/js/script.js
Modifica 16/07/28: è possibile utilizzare jsonify
filter per qualsiasi hash o array
---
---
{{ site.posts | jsonify }}
Vecchio risposta
---
---
{% 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}}
Inserirà la collezione di oggetti site.posts
in un modulo json
e li attribuirà a javascript posts
var.
mi dà l'errore "Uncaught SyntaxError: Unexpected token {" non appena includo i tag del liquido –
True. Ho modificato la mia risposta. –
L'aggiunta di argomenti frontali vuoti nella parte superiore del mio file js causa l'attivazione dell'avviso di 'Liquid Exception: SyntaxError: Unexpected token'. – user3411192