如何在 Jekyll 中首先显示修改后的帖子?
How to show modified posts first in Jekyll?
我知道,Jekyll 会根据文件中给出的日期显示 post 列表
2015-01-29-name-of-post.md
几天后,例如,在 2015-05-12,我对此 post 进行了更新,我希望 Jekyll 在 "new" [=20] 的列表中首先显示它=]秒。我知道我可以 "force" Jekyll 通过更改名称来做到这一点
2015-05-12-name-of-post.md
这不是一个好主意,但我希望它自动执行。有人有其他答案吗?
这里 (http://jekyllrb.com/docs/frontmatter/) 说 post 有一个特殊的 front matter vailable,它似乎可以满足您的要求:
"date
此处的日期会覆盖 post 名称中的日期。这可用于确保 post 的正确排序。A日期以 YYYY-MM-DD HH:MM:SS +/-TTTT
格式指定;小时、分钟、秒和时区偏移量是可选的。"
所以看起来你可以将 date
添加到你的 post 的前面,然后这样改变它。
Jekyll 的 'last modified at' plugin/Gem 完全符合您的要求:https://github.com/gjtorikian/jekyll-last-modified-at
它确定磁盘上最后一次修改post(或页面)文件的时间,并在没有的元素上添加last_modified_at
特征更改他们的 post 日期或网址。除了在任何你喜欢的地方显示 post.last_modified_at
字段之外,你还应该能够按照最后修改的顺序列出 post:
<ul>
{% assign posts = site.posts | sort: 'last_modified_at' %}
{% for post in posts %}
<li>{{ post.title }} (original post date: {{ post.date }})</li>
{% endfor %}
</ul>
请注意,该插件 不适用于 github 页面,因此您必须在本地构建页面。 (由于 github 页面的构建方式,即使他们将 Gem 列入白名单,它也会显示最后一次推送的时间 所有文件 而不是最后一次编辑日期。)
我知道,Jekyll 会根据文件中给出的日期显示 post 列表
2015-01-29-name-of-post.md
几天后,例如,在 2015-05-12,我对此 post 进行了更新,我希望 Jekyll 在 "new" [=20] 的列表中首先显示它=]秒。我知道我可以 "force" Jekyll 通过更改名称来做到这一点
2015-05-12-name-of-post.md
这不是一个好主意,但我希望它自动执行。有人有其他答案吗?
这里 (http://jekyllrb.com/docs/frontmatter/) 说 post 有一个特殊的 front matter vailable,它似乎可以满足您的要求:
"date
此处的日期会覆盖 post 名称中的日期。这可用于确保 post 的正确排序。A日期以 YYYY-MM-DD HH:MM:SS +/-TTTT
格式指定;小时、分钟、秒和时区偏移量是可选的。"
所以看起来你可以将 date
添加到你的 post 的前面,然后这样改变它。
Jekyll 的 'last modified at' plugin/Gem 完全符合您的要求:https://github.com/gjtorikian/jekyll-last-modified-at
它确定磁盘上最后一次修改post(或页面)文件的时间,并在没有的元素上添加last_modified_at
特征更改他们的 post 日期或网址。除了在任何你喜欢的地方显示 post.last_modified_at
字段之外,你还应该能够按照最后修改的顺序列出 post:
<ul>
{% assign posts = site.posts | sort: 'last_modified_at' %}
{% for post in posts %}
<li>{{ post.title }} (original post date: {{ post.date }})</li>
{% endfor %}
</ul>
请注意,该插件 不适用于 github 页面,因此您必须在本地构建页面。 (由于 github 页面的构建方式,即使他们将 Gem 列入白名单,它也会显示最后一次推送的时间 所有文件 而不是最后一次编辑日期。)