【问题标题】:Why jekyll not showing comments?为什么jekyll不显示评论?
【发布时间】:2020-06-28 01:52:01
【问题描述】:

我有代码:

{% 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'

【问题讨论】:

    标签: jekyll liquid


    【解决方案1】:

    不完全了解如何获取所有数据,但可以肯定的是,您需要先分配然后循环:

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

    编辑:

    看你的cmets和相关代码,好像你需要配置staticman来为每篇文章在特定的文件夹中创建cmets。

    在staticman.yml中,添加

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

    然后,您可以使用{% assign comments = site.data.comments[page.slug] %}选择帖子相关的cmets。

    来自Minimal Mistakes 的代码可以鼓舞人心。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-11
    • 2015-01-13
    • 2013-06-05
    • 2012-10-14
    相关资源
    最近更新 更多