从源文本、词典软件两方面入手,改进用户体验。
1、初始制作者给每个词条加上序列号注释,方便词典软件排序
<!--SN=10086-->
2、以注释形式保留原始词头,配合软件端,实现精确跳转/重定向
<!--URN=live2_1-->
<a href="entry://live" urn="live2_1"></a>
<script urn="live2_1">window.location = 'entry://live'</script>
…
从源文本、词典软件两方面入手,改进用户体验。
1、初始制作者给每个词条加上序列号注释,方便词典软件排序
<!--SN=10086-->
2、以注释形式保留原始词头,配合软件端,实现精确跳转/重定向
<!--URN=live2_1-->
<a href="entry://live" urn="live2_1"></a>
<script urn="live2_1">window.location = 'entry://live'</script>
…
是一个不错的思路,不仅方便制作者,像我这种小白再完善词典时也能很方便找到问题根源或出处,感谢兄弟提供的思路
mdx 打包打乱了词条顺序,软件重新排序,体验都不怎么好,尤其是一个词头对应多个词条时。上一条/下一条按钮也形同虚设了。给词条加上序列号,微调软件端,能解决此问题。
精确跳转模拟的是网页版词典,目标词条是 live2_1,结果不应有 live1, live2_2 等“无关”内容。
词条重排序是为了词典软件搜索用的,这样词典软件这边可以直接加载,不用自建索引,重排之后,相似的内容压缩在一起更紧凑,而且连续的词条,可以一次性命中,不用重复去读取磁盘(不过现在固态硬盘越来越多,这个优点可以忽略)。
精确跳转更适合单本词典。不适合GD这种多本词典一起浏览的。
我觉得查询结果排序正确很重要。
跳转应该区分“当前词典”和“分组内其它词典”,当前精确,其它不精确。我现在也只是空谈,具体怎么实现,还要等上手。
对,我在校对词头时也有这样的感觉
用户自己的排序,只能单本浏览。多本词典查询完必然要重排,没什么用。mdict-utils是开源的词典制作工具,如果你不想要重排序,把排序的代码去掉就行了。
单本浏览,是任何一本纸书都有的功能,用 mdx 词典软件竟然无法实现,这本身就很荒谬。
当前词典单本浏览,不能也不该影响分组内其它词典内容的呈现。
改打包工具的话,为啥还用 mdx,直接等新格式不就好了么。我想做的只是改良。
只是改良的话,可以参考社区里vim的实现,是对词典很好的补充。
你加的注释。如果不改打包工具,只能让软件那边弄,他们不太可能配合你。因为这个注释在词条内容上,等于词典软件要读取完整的内容后,才能再排序,如果是大型词典的话,重排序很困难。
我现在手上还有点事情,弄完就开始写自己的词典软件。自娱自乐。
已经有一些关于软件 UX 的想法,准备付诸实践。希望以此为契机,学习 App 开发。我的词典软件暂定名:Entries