置顶那些事
文章置顶是很常见的功能,然而hexo并不原生支持。我最近有置顶通知和推荐的需求,最先想到的当然是日期写到很久以后,然后设置future: true
。不过找了一下,发现有插件hexo-generator-index-pin-top
可以优雅完成,于是试了一下,没有问题。只要设置front-matter中top: true
即可,多个置顶按照原先的顺序排序。至于置顶标记,偷懒就直接在标题前加上【置顶】
……我满意地走了。
一段时间之后,我突然发现原先的顺序
并不符合要求,新插件无视了我要求按更新日期排序,用默认的创建日期排序。代码片段如下(注释也是原文件的):
1 | posts.data = posts.data.sort(function(a, b) { |
可见其直接硬编码了根据创建日期排序。在批判作者的草率的同时,我又不想fork改成updated
,也由于js不会写而不能fork原版插件,而且npm安装也是个问题。于是我决定仍用原始方法,把创建日期和修改日期改成2099-12-31,然后设个标记隐藏这个奇怪的日期……