基本思路
这个Wiki源自于2014年我host自己一些项目文档和实例的站点,2015年左右Wiki化,后面变更了几个版本,逐渐拆分开Markdown文档和整体的Wiki逻辑代码。
直到前段时间还一直都是单页面调用GitHub接口来获取Wiki内容,导致整个站点访问非常慢(依赖非常多,React、Marked.js、Highlight.js还有ReactRouter以及一些基础库),加上本身GitHub接口访问的限制,实在是让人难以忍受了。好在GitHub Actions已经非常成熟,所以我最后决定还是用静态页面生成的方式来实现。
在短暂验证了一轮之后,决定直接用hugo,但没多久我就觉得有点不太对劲了,hugo太复杂了,而且相应的功能也没办法满足我的需要,像cnmd这样的功能已经不能再复用。所以一段时间后我决定还是自己来写。
主要是处于以下几种考虑:
- 我是要准备深度区分析post和结果,制造更丰富的交叉引用的,所以需要拿到parse的结果,然后对其进一步的分析。但这里hugo非常难扩展,做不到我想要的
- 除此之外的工作流、分词工具都是用python或者nodejs来实现,所以也需要nodejs本身的技术栈,所以干脆换成node来实现整个生成。