我在网上找到python库解析mdx,把词条一个一个转成文本存储到sqlite数据库里。
结构和mdx类似,key-value到形式存储。
我想写个自己的词典,目前个人的需求有下:
1.存储所有查词的时间,次数。
2.支持不同页面查询不同词典或不同词典组
其他的需求还没想到
但这个事情我现在不想做下去了,原因是goldendict解决了非常多的问题,这些问题很麻烦我不太想去解决。
1.词典的外置css和js引用非常麻烦,我存数据库里很难索引。
2.词典内跳转难以实现
3.全文搜索这个功能非常牛逼,goldendict居然是在压缩后的html文本里搜索的。
4.词典的显示问题是个大坑。里面的link并不是标准的http url。
3 个赞
我之所以选择写一个词典是因为现有的词典乱七八糟的功能太多了,写词典软件的人明显不怎么经常用词典。而我刚好最近在大规模的使用词典,现有所有的词典都令我不太满意,只有goldendict稍微好点,但依然有不太满意的地方。当我自己动手开始撸代码的时候才发现他们的牛逼之处。
目前看起来我把他们牛逼的地方去重写一遍,不如我自己动手去改进golden dict更快一点。
2 个赞
hua
3
现有的代码实现,可以参考:
数据存数据库是正确的思路,并且 MDX 数据都是需要渲染的时候二次处理的。至于改 goldendict,如果你不是 C++ 熟手也建议不要碰。
我目前的想法是数据和渲染完全分开,类似前后端分离,数据端就是一个 API server,提供一堆 API ,前端自己拿 React Vue 糊,当然,一个想法而已,想了很久了。
4 个赞
独一无二
6
“存储所有查词的时间,次数”这个需求,不需要重新实现一遍辞典软件,在 GoldenDict 里即可完成。
在 GoldenDict 里选“词典来源”,有个“程序”,这里面可以用命令行引用外部程序,这里写上你自己的程序,你程序里只用记录时间、次数等你想记的信息,不需要词典本身的数据,查词时自动全部显示。
参见 https://www.pdawiki.com/forum/thread-21878-1-1.html
https://www.pdawiki.com/forum/forum.php?mod=viewthread&tid=22228
(这两个例子是用外部程序实现了各自自己想要的功能,不是楼主要的记录时间、次数,举这两个例子只是展示这个外部程序的思路,至于具体想记录什么信息,楼主会编程的话自然很简单)
goldendict 的文档为啥没写这个?看起来是直接通过输入输出来实现的。
1 个赞
hua
11
3 个赞
这思考的时间也怪长的 如果VB可以的话貌似一两天的功夫就够了
这个制定规范的工作以前都不知道,是不是可以推广推广,争取让更多人提建议看法。而且知道的人多了,自觉自动都按这个标准做,慢慢就推广开了