如果愿意帮忙解决这个问题,可以放一下具体的错误信息。
更好的办法是去 GitHub 开个 issue, 管理起来更方便一些。
似乎是没有提示,mdx文件放到source文件夹,应该就可以吧
放到 source 文件夹下之后,是否有到 Web UI 去重新扫描源目录呢?
曾经有做成 exe 一键运行的打算,但后来感觉没什么必要就放弃了。
不知道哪里有问题,词头都查得到,但都显示词条不存在,图片词典、简单文本词典以及有@@@LINK规则的词典都不行:
有一瞬间进入词条页了,但马上又不行了。
Vim
73
在 docker 中部署了 SilverDict,并成功添加了词典。
但是要想使用好,手头上的词典几乎都要调整适配,因为它的要求比较高:
- 词典 mdx mdd 和 css 等的文件名称必须完全相同才可以。但我看很多词典的 css 等文件名都是不同的。仅这一条估计就得改一大批词典。很多词典采用多个 mdd,那么文件名也就不同,不知道其是否支持?
- 虽然软件可以自动扫描添加词典,但对于多层嵌套的目录结构好像不支持,而我习惯将每个词典单独放在一个文件夹中,并放在某个类别目录下,这样方便维护。如果需要手工逐个添加词典,或手工维护词典分类,就很麻烦。
- CSS,除非是那种简单的可以直接使用,但凡有点特别的,好像效果都消失了。不知道应该遵循什么规则来调试。
此外,总结了这个过程中遇到的 bug(结合 AI 分析来推断的)
Vim
75
即使借助 AI 分析 SilverDict 仓库的源码,依然搞不懂 SilverDict 解析 mdx 词典的规律,请看案例:
对于以下部署环境中的 3 个词典:
(1)我如果使用 windows + goldendict,这 3 个词典都能正常使用;
(2)在 synology 中采用 docker(mathdodger/silverdict)部署的 SilverDict,使用自动扫描添加这些词典,我们可以看到程序已经正确识别这些词典,但是检索时,只有 Longman WordWise Dictionary2 这个词典可以正常识别和查询词条,但它的查询结果中,每个例句的音频文件却又都看不见;
(3)如果我将 oxfordprimary.css 更名为 OxfordPrimary.css,则 SilverDict 也能查询;
(4)如果将 lpd.css 和 lpd.js 的文件名也都更名为与 mdx 相同的名称,那么也可以查询,但是查询结果中其样式好像没有启用 css。
\01 Pronunciation\Longman Pronunciation Dictionary.mdd
\01 Pronunciation\Longman Pronunciation Dictionary.mdx
\01 Pronunciation\Longman Pronunciation Dictionary.png
\01 Pronunciation\Longman Pronunciation Dictionary.1.mdd
\01 Pronunciation\lpd.css
\01 Pronunciation\lpd.js
\02 Primary Children\Longman WordWise Dictionary2.mdd
\02 Primary Children\Longman WordWise Dictionary2.mdx
\02 Primary Children\Longman WordWise Dictionary2.png
\02 Primary Children\LWWD.css
\02 Primary Children\oxfordprimary.css
\02 Primary Children\OxfordPrimary.mdd
\02 Primary Children\OxfordPrimary.mdx
是否与这个因素有关呢:GD 支持外部的 css 文件取代 mdd 内部打包的 css 文件,而SilverDict的处理机制有所不同?
猜测(没有指导文档,只能盲猜):如果 mdd 打包了 css 文件,那么 SilverDict 就能解析(采用源码html中指向的css名称);如果 mdd 没打包 css 文件,而外部的 css 文件名又与 mdx 文件名不同,那么就无法解析(采用 mdx 名称去匹配 css)?