Почему Джекилл не показывает комментарии? - PullRequest
0 голосов
/ 08 февраля 2020

У меня есть код:

{% for comment in site.data.comments | where: "slug", page.slug %}
<div class="comment">
<div class="meta">
<p class="name">
{% if comment.email %}
<img src="https://www.gravatar.com/avatar/{{ comment.email }}?d=mm&s=60" alt="{{ comment.name| escape }}">
{% else %}
<img src="/blog/lib/img/avatar.jpg" alt="{{ comment.name | escape }}">
{% endif %} Od: {{ comment.name | strip_html }} * {{ comment.date | date: "%b %-d, %Y, %H:%M" }}</p>
</div>
<p class="message">{{ comment.message | strip_html | markdownify | smartify }}</p>
</div>
{% endfor %}

, который должен заменить комментарий, помещенный в data/comments/postid/commentid.yml, комментарием в html, но результат будет выглядеть так:

<div class="comment"> 
<div class="meta"> 
<p class="name"> 

<img src="/blog/lib/img/avatar.jpg" alt=""> 
 From:   * </p> 
</div> 
<p class="message"></p> 
</div>

Я просто знаю, что что-то не так со значениями для comment, но я не знаю, как это исправить.

А вот пример комментария в файле .yml

_id: a39a2830-4ab0-11ea-a10f-77385622cc26
name: Igor Kowalczyk
email: 28a451314d9295e9bcce66c293bd20ed
message: Testowy Komentarz
date: '2020-02-08T20:21:51.037Z'

1 Ответ

1 голос
/ 09 февраля 2020

Не совсем понятно, как вы получаете все данные, но одна вещь наверняка состоит в том, что вам нужно назначить, а затем l oop:

{% assign comments = site.data.comments | where: "slug", page.slug %}
{% for comment in comments %}
...

Редактировать :

Наблюдая за вашими комментариями и связанным кодом, кажется, что вам нужно настроить staticman для создания комментариев в определенной папке c для каждого сообщения.

В staticman.yml , добавить

path : "_data/comments/{options.slug}"

Затем вы можете выбрать комментарий к сообщению с помощью {% assign comments = site.data.comments[page.slug] %}.

Код из Минимальные ошибки может быть вдохновляющим.

...