全新的mdx/mdd词典制作工具

楼主一直坚持更新相当不易,之前说要造新格式的都销声匿迹了,加油啊

造新格式意味着写新的词典软件,貌似大家对写新的客户端都没什么兴趣。也许和一些人格局太小有关,总怕被别人占了便宜,提点编程的务虚想法居然会被认为是“乞讨”代码。

个人一直认为,这个论坛有机会成为一个独特的编程论坛,它和普通的编程论坛有一个最大的不同,就是大家有一个共同的明确目标------制作和使用词典,而“词典”又是一种广义上的普遍性的资料组织形式,从各个方面讲,都具有无限的提升空间。

没有销声匿迹, 新格式已经设计完成了, 在源码里面已经实现完成了. 剩下的问题就是对格式微调, 比如加入压缩选项 (现在生成的词典比较大).

下图是 Linux 桌面版本 (Windows, Linux, MacOS 都支持) 使用新词典格式的效果图

1 个赞

顺带接着你说的这个话题说一下客户端开发: 客户端最大的问题是没有一个好用的跨平台 GUI 框架.

桌面平台上 QT 是一个不错的选择, 但是 QT 本身是有比较大的学习成本的, 而且自 QT 5.15 之后不再提供离线安装版本 (开发者需要自己从源码编译, 十分麻烦)而且不再提供 bug 修复版本, 而且从我自身的技术栈来讲, 我在其他地方从未用过 QT. 所以这个在一开始就被 PASS 了. 除了 QT 之外, 目前比较火的就是 Flutter, 但是 Flutter 到现在为止都没有一个像样的桌面版本 webview (渲染词典必须要 webview). 最后可能就是 Electron 了, 但是这种体积是一个大问题. 类似的还有很多问题.

再来说移动端, Android 自己是一套 UI 框架, 语言百花齐放, 三件套你得会吧 java, kotlin, c/c++, 然后是 andorid 自己那一套有 UI 组织方式你也得熟悉, 最近几年又新出一个 compose ui 框架, 而且这是一种趋势, 所以要开发, 肯定优先选择这一套. iOS 当然也是自己的一套 UI 框架, oc, swift 你得会吧, 然后是苹果自己的 UI 框架使用方法你也得会, 而且 iOS 开发者要上架应用, 需要有开发者帐号, 一年 800 多人民币, 你说多吧也不多, 但是作为一个完全没有收入的应用, 单独去买一个苹果开发者帐号? 当然你说用 flutter 跨端 (ios, android) 开发, 直观上来说这好像很不错, 但是实际上里面坑多的一批, 不踩你都不知道, 最后发现还不如 android 用 android 自己的那一套, ios 用 ios 自己那一套 (总之就是你在一个地方省事, 在另一个地方就要把省下的东西补回来).

个人精力实在有限, 目前使用 Tauri UI 框架基本上能够保证 wikit 在 Linux/Windows/MacOS 上处于一种可用的状态, 后续是使用 android compose ui 开发一个 android 上可用的词典软件.

1 个赞

抱歉回复晚了, 如果你还需要这个问题答案的话, 你这个问题的原因是: 你没有输入文件, 你只给了一个 D:\wikit-windows, 这个不是一个有效的输入文件. 如果有其他实时的使用问题, 可以在群里问一下, 可能回复更及时一点.

可以和 mdx 没有任何瓜葛, 可以直接从 mdx 生成 wikit 的词典格式, 甚至可以导出为你说的数据库格式, 这个都已经实现了, 只不过个人精力有限, 软件的使用上还有待提升 (有待很大的提升).

1 个赞

@biu 楼主的开源项目在论坛里难得一见,十分钦佩!可惜技术平台用的是 Tauri,不然一定参与。看到你说后续还要用其它框架开发安卓版,第一想到的是,跨平台成本最低的貌似还是 .NET + MAUI,不过你应该不是 .NET阵营的不会考虑。另外,PyQT的确是过于笨重,个人独立开发倒也没什么不行,但是对希望得到广泛参与的开源项目来说十分不利,个人最近认为python的标准库 tkinter倒是非常适合词典这样界面并不复杂的开源项目,因为不需要安装任何额外的库,任何人想参与立刻就能开始工作,虽然功能非常有限但也应该够用。而且只要模块设计上略加注意,把UI部分小心隔离好,后续可以方便地迁移到其它的UI框架下。

QQ 客户端的小组几个人,为了多平台,部分代码从自研的C++的组件转到 electron 方案了

https://baijiahao.baidu.com/s?id=1751642664997723430&wfr=spider&for=pc

1 个赞

在本论坛里面要开展一个参与度比较高的开源项目,我最近觉的可能 Python/tkinter 会一个不错的选择。人们愿意投入时间精力参与开源项目的动机,一方面是对项目开发的软件本身的高度兴趣,另一方面就是在参与的过程中磨练对日后工作有持续帮助的编程技巧。

Electron本来也不错,但是一方面需要安装不少额外工具,另一方面 node.js 的通用性还是远不及 python。

1 个赞

谢谢你对我这点小工作的认同. PyQT 一个主要的问题是分发问题, 用户环境必须要有 python 环境, 如果用户用到了其他 python 库, 还需要手动安装, 所以使用 pyqt 写 UI 的方式也不太好, 不过可以作为一个实验性项目做做看 (但是我们目前没有这么多精力). 此外, 你的观点里给我了一个很好的启发, 就是可以将项目主要代码编译并封装为 python 库, 供 python 调用.

1 个赞

感谢提供建议, Electron 是一种选择, 但是由于它的产物大小实在让人难以接受, 目前暂时不考虑这种方式.

DSL 格式最简明, 可以直接编辑…

感谢 biu,找到这个项目非常惊喜。在试图用 CLI 将 mdx 词典转化为 macOS 原生词典是,遇到这样的错误:
[+] Create mac dictionary …
Error: [cli/src/main.rs].[210]: Failed to create mac dictionary

Caused by:
0: [core/src/mac.rs].[53]: cannot create working directory
1: File exists (os error 17)
请问是什么问题呢?

1 个赞

另外,QQ 群号和微信二维码也都过期了,请问有更新版可以加入吗?

刚刚我的回复背隐藏了, 再回复一下:

  1. 第一个问题你可以看一下你要转换的词典所在的目录下面是否有个 wikit 目录, 有的话删除掉再试试
  2. 第二个问题, QQ 群已经解散, 微信群二维码已经更新了, 参考置顶的说明
1 个赞

第一个问题,后来我发现是文件夹问题,我直接放在 Downloads 下的 mdx 转不了,我在 Downloads 下建个子目录,把 mdx 放进去,就神奇地可以了。另外还遇到同样的 XHTML 语法问题,是

的问题,也是需要手动编辑 txt 文档才能继续。

谢谢 biu 热心回复,diy 词典界之光:+1:

XHTML 的语法要求真是个巨大的坑,少数还可以手动批量替换,碰到 这种完全没有替换规律的 tag,直接就地昏倒…

这种就和词典校对一样, 目前最优的解法是人工处理, 也许另外一种可能是使用 AI, 比如GPT之类的.

您好,請問一下能否分享您的RHWDAE.mdx 以及css? 因爲像uv 42-5這些目前都找不到下載地方了,謝謝您!