在每个帖子底部的博客上添加链接和摘录到其他帖子

时间:2015-02-15 23:20:16

标签: blogs jekyll static-pages

我想在帖子的底部添加几个(2-4)链接到其他帖子。起初我认为它们应该是相关的,但我想随机的也可以起作用。

我正在使用Jekyll并且正在寻找一个插件或一种简单的方法来引用我以更自动化的方式在博客底部编写的其他(相关)内容。这个想法是有2-4 div个标题和其他博客文章的摘录。只需通过检查标签就可以得出相关性,随机的也可以在开始时使用。

我不知道如何直接在Jekyll中执行此操作(手动添加这些项目除外)。我想到了一个JavaScript解决方案,我可以在其中获取feed.xml(或者可能创建一个包含必要信息的自定义JSON文件)并只显示这些项目,但我不能成为第一个寻找此项目的人,或者?< / p>

那里有没有这样的东西? - 也许我只是看错了。

1 个答案:

答案 0 :(得分:0)

好的,我看错了,jekyll中包含这些信息的变量是site.related_posts

然而,当在GitHub页面中使用时,似乎存在一些问题,这使得它几乎无用。许多人只是按时间顺序获得帖子列表。

有一个问题可以提供可能解决方案的摘要:https://github.com/johnotander/pixyll/issues/41

Wenli Zhang wrote a quite extensive post about this,来自Wenli Zhang的帖子的模板应该适用于GitHub页面:

{% assign hasSimilar = '' %}
{% for post in site.related_posts %}
    {% assign postHasSimilar = false %}
    {% for tag in post.tags %}
        {% for thisTag in page.tags %}
            {% if postHasSimilar == false and hasSimilar.size < 6 and post != page and tag == thisTag %}
                {% if hasSimilar.size == 0 %}
                <h4>Similar Posts</h4>
                <ul>
                {% endif %}
                <li class="relatedPost">
                    <a href="{{ site.url }}{{ post.url }}">{{ post.title }}
                    {% if post.series %}
                        (Series: {{ post.series }})
                    {% endif %}
                    </a>
                </li>
                {% capture hasSimilar %}{{ hasSimilar }}*{% endcapture %}
                {% assign postHasSimilar = true %}
            {% endif %}
        {% endfor %}
    {% endfor %}
{% endfor %}
{% if hasSimilar.size > 0 %}
    </ul>
{% endif %}