我想使用 hexo,这样我就有一个出现在每个页面上的侧边栏(layout.ejs 中的一个侧边栏),它按时间倒序链接到我的所有帖子。
在我的主题中,我有一个 sidebar.ejs 片段,如下所示:
<div class="sidebar-links-wrapper">
<% site.posts.each(function(item){ %>
<a href="<%- config.root %><%- item.path %>" class="navlink"><%- item.title %></a>
<% }); %>
</div>
但 site.posts 的顺序似乎不正确。它不按帖子创建日期的顺序显示。
在 index.ejs 中,我有一个部分以正确的顺序显示帖子(使用 page.posts)。
<% page.posts.each(function(item){ %>
-- some other stuff
<% }); %>
但是,我不能在 sidebar.ejs 中使用 page.posts,因为 layout.ejs 包含 sidebar.ejs,如果我引用 page 变量,它似乎会抛出一个错误,即找不到页面。
有没有办法正确订购site.posts?或者从 layout.ejs 引用 page.posts 的方法?或者用不同的方式来达到我想要的效果?
感谢您的任何帮助。