帖子更新
1. 更新内容
添加了一个脚本,使其可以在每个文件打开的时候自动运行,找到相对于其的前一篇和后一 篇,并自动建立前后的索引,以及向上找到索引。
2. 脚本文件
主要的更新就是一个prev-post-builder.js文件,这个文件在HTML文档的头部声明,并延 迟加载。
这个脚本会使用fetch函数获取index.html并解析这个文件为一个新的DOM对象。在得到这个 对象之后,使用CSS选择器来选择所有的文章的节点,转化为数组,然后findIndex方法配合 闭包走一遭,就能找到此文章所在的位置1。在编写寻找需要的闭包的时候,注意,本 文档的path部分可以使用windows.location.pathname寻找,但是这个方法获取的路径名会 有一个斜杠,这个时候应该调用路径名的includes方法,而不是用节点的includes方法。
在得到位置之后,就可以根据位置寻找前一篇文章和后一篇文章了。找到之后,再找 postamble元素,把节点连带“Prev”和“Post”的字样一同追加进页面即可。
如果真的很好奇如何实现的,读者们可以直接访问prev-post-builder.js这个位置。
3. 后续的更新规划
我希望可以在后续添加一个简单的评论区系统。这个评论区系统会使用自托管的评论管理服 务器。
脚注:
1
初版实现曾考虑使用reduce配合状态变量来定位文章索引,后在代码审查中发现 findIndex方法更为简洁,已据此重构。