GoldenDict-ng 自编程序分享(添加笔记、记录查询信息)

如果点“学习笔记”右边的“编辑”,界面是怎样的呢?能够可视化吗?

欧路的软件我当然不可能去改写,编辑是自带的界面,所以我才需要另外制作一个笔记软件,去生成笔记数据。欧路不行,但 GoldenDict-ng 完全是可以的,可以做到把整套集成在一起。

原理的话,可以看到和 Anki 的模板很像,笔记软件上有多个字段让用户去填写,而其中 Original Text 和 Notes 是支持 Markdown 的(可以无视 Notes 中与词典数据相关的东西),所以编辑起来就很容易。

最后会生成 JSON 格式的数据,直接粘贴到欧路的笔记里,上传到云端。上传的数据可以调用 JavaScript 去生成笔记,目前我的方法是 JavaScript 在其中一本词典里,有同样的代码就能在多个设备都看到相同的效果。

貌似有些超出我的能力了 :rofl: 大神可以整套集成一下造福坛友

好吧,那我就抛砖引玉一下好了。目前这个软件只是我个人使用,是用 Swift 写的,暂时只能在 macOS 上跑。如果论坛里有词典软件的开发者有兴趣,可以参考实现思路,也可以私信我,我会提供代码。

如果有详细代码的话,我可以试试转成 python

看私信。核心部分是 JavaScript 代码,Swift 的部分其实不多,主要是 UI 界面,其他的很多都是附加功能。

好的,我研究一下,感觉最重要的还是 Shared NoteData Preview 那一块。

如果有坛友感兴趣欢迎联系,我能力有限未必搞得定 :face_holding_back_tears:

我研究了搞不定 :rofl: 现在使用的是 Tkinter,换成 PyQt 可以实现可视化编辑的功能,但仅限于加粗、倾斜等基础语句(欧路词典目前也能实现),稍微复杂一些就渲染不了了。我暂时没找到能够实现相关功能的 python 库。

欧路的学习笔记还能做成这样?如果是自带的话就算是付费功能感觉都能接受 :face_holding_back_tears:

目前只支持粗体斜体下划线,也太简陋了

这个功能个人感觉还是相当实用的,论坛里的需求怎么样?说不定可以集思广益,定义一个通用的数据格式。然后就能实现像生词本导入一样的简单操作,借助云存储还能实现多端同步

目前论坛里GoldenDict-ng是只有电脑端,DictTango的话有Windows和安卓,合作一下能覆盖不少用户群体

@xiaoyifang @glacierlee

欧路本身是有跨平台和云端同步的,但凡能做出一套更实用的学习工具,也不至于现在在论坛里风评不好

没有你想的那么复杂,并不需要做到 Live Preview。

笔记软件上的 Preview,只是简单的输入整个 HTML,然后渲染而已,Webkit 都能做到。

而这个 HTML 包含了生成的 JSON 数据以及 webpack 打包的 JavaScript 和 CSS 代码,然后用 JavaScript 读取 JSON 生成笔记,用的是 markdown-it 及其若干个插件。

2 个赞

欧路原本能做的更好,跨平台和云端同步都实现了,甚至还有公开笔记,就是这个笔记本身不是很好用。

这个功能最理想的使用场景,还是搭配生词本,或者说个人词库(之前有坛友分享的),也根本不需要 mdx,直接用数据库。

笔记这个需求比较尴尬,词典软件附带笔记,笔记不会是重点。笔记软件附带词典,能集成好 mdx 词典的几乎没有,都是用的开源库,本身就很多问题,开发者自己都没用就上线了。

2 个赞

词典软件本身能做的已经不多了,基本的查词功能实现,剩下的都是扩展功能。目前好像都是往 AI 方向发展,毕竟也确实比较通用,语言更是 LLM 的看家本领,而记笔记的需求就因人而异了。

笔记软件想要配合 mdx,问题是 mdx 本质上就是 HTML,处理起来着实麻烦,没有可以替代词典软件的优势。

像是要实现如图所示的效果,也就是摘出 mdx 里感兴趣的信息,主要是释义,需要为每本词典单独写 JavaScript 代码,但是提取出来的只能是 HTML 格式的,想要单独拿出来用,得另外微调 CSS 做适配。

当然这一套比较复杂,也并非必要,可以自己组织笔记内容,不需要非得保持 HTML 的形式。

1 个赞


报错什么原因

看一下路径有没有填写对,GoldenDict 软件里“命令行”下的路径,以及 GoldenDict-MyNote.py 程序里“# 文件路径配置”下的路径。

我想了一下,如果不做到如下可视化编辑词条的功能,

那预览渲染也没有特别大的必要,因为现在的程序选择“Save”保存,就可以在词条里查看渲染效果了,不满意的话再回头编辑。这样一来,“Save”近似于预览的功能。


这个报错是python3.12,库已经安装过了。改成python3就报错提示没有安装库,但是我看macOS终端已经安装了,见鬼:new_moon_with_face: