在 mindoc 中查阅文档时,有时候会有与历史版本进行比对的需求。mindoc 对文档的编辑历史是有支持的,但是把它放在了编辑模式里,查看模式中并没有放开。这使得通过简单的改进就能够满足需求成为可能。
经过简单探寻,得到其处理历史文档的 URL 为 /history/get?identify=mindoc&doc_id=184 这样的。访问此 URL 可以得到该文档的历史记录列表,每一项都有“删除”、“恢复”和“合并”三个选项。由于要做的是查看模式下的历史调阅,所以显然,这三个操作应该被一个“查看”取代,从实现上,可以是在原“合并”的基础上进行,因为该功能本身就有一个左右对比的浏览视图。
直接访问历史列表获取的 URL,其返回内容如果直接显示于浏览器完整客户区在美观度上并不太好,也可以直接采用像编辑模式中弹出模态对话框的方式。
涉及到的后端源文件主要是 DocumentController.go,其中的 History() 和 Compare() 是重点。
附。昨天解决了置顶功能的一些小体验瑕疵。原来的图标是个图钉,意为 pin/unpin,但是没有 unpin 的对应图,都使用同一个图看上去有点奇怪。在网络上找图钉的钉住和取下的免费图片,花了不短的时间,没有满意的。后来退而求其次,找五角星的实心和空心透明背景图,在 pngtree.com 这个网站,还用微微魔宝的 GMail 账户注册登录后才下载到。结果再一看源代码,原来的图钉并不是图片,而是 Font Awesome 里的一个字符。顺着既有思路,也去其中再找合适的,最开始找到了旗帜(flag)的实心和空心图,后来又找到了书签(bookmark)的实心和空心图,都不满意,最后还是用上了心(heart)的实心以及空心图,效果还不错。顺手还改正了一两处原来代码有的微小问题。
永久链接
按照上述思路实现并测试后已经上线。