有没有办法使用 Jekyll 按字母顺序对多个帖子进行排序?
我现在有这样的事情:
{% for post in site.categories.threat %}
<li><a href="{{ post.url }}">{{ post.title }}</a></li>
{% endfor %}
它有效,但帖子很混乱。我想,如果按字母顺序排序,看起来会好得多。
Thanks
It can无需插件即可完成,这意味着它可以与Github 页面 https://pages.github.com/.
不过,您必须使用一些丑陋的字符串操作技巧。
我使用了类似的方法实现标签页(列出每个标签的所有帖子) https://stackoverflow.com/a/21002505/6884.
相同的方法,稍作修改:
{% capture posts %}
{% for post in site.posts %}
|{{ post.title }}#{{ post.url }}
{% endfor %}
{% endcapture %}
{% assign sortedposts = posts | split: '|' | sort %}
{% for post in sortedposts %}
{% assign postitems = post | split: '#' %}
<a href={{ postitems[1] }}">{{ postitems[0] }}</a><br>
{% endfor %}
Beware:
你需要two第一个循环内的不同分隔符(当然,再次在split
稍后再打电话).
为了使其发挥作用,这两个字符不得出现在任何帖子标题或 URL 中!
我在用着|
and #
在这个例子中,这对我有用(我刚刚用我的博客测试过)。但您可能需要使用不同的字符,具体取决于您的帖子标题以及 URL 的构建方式。
Bonus:
如果您只想显示某个标签/类别中的帖子(并非所有帖子),你可以改变第一个for
loop (里面的那个capture
)其中之一:
{% for post in site.tags['whatever'] %}
{% for post in site.categories['whatever'] %}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)