- mdict (mdx, mdd) 是目前最受欢迎的词典格式.
- 词条使用 html 格式, 支持图片 音频
- 但出人意料的能在命令行里查询 mdict 的工具并不多
- 其中难点在于 html 的处理
- 本项目使用 carbonyl 来呈现 html, 相当于直接用 chromium 打开, 只不过在命令行里呈现
- 我试过各种 html to text 的工具, 但是实测下来效果都不好, 开箱即用的工具里只有 carbonyl
- carbonyl 不能源码级的依赖(因为要编译 chrome) , 只能通过二进制依赖, 即要预先装好 carbonyl 放在环境变量里
- 我不是 mdict parser 的作者, 但我给他发过 pr
- 原理
- 遍历 ~/.local/share/mdict-cli-rs 中的所有 mdx 文件, 查询到 html
- html 可能需要 js/css 文件, 从对应的 mdd 文件中提取
- 所有的 html/js/css 放在一个临时目录里, 由 carbonyl 打开
- Cons
- 没有呈现图片, 因为 carbonyl 处理图片效果不好, 图片分辨率太低, 又会遮挡文字
- carbonyl 还是太过笨重, 所以更多的功能难以展开
- 比如我很想直接提取文字打印到 terminal
- mdict 的 html 格式限制了 cli 词典工具的出现
- 慢, 因为使用 carbonyl 相当于打开 chrome
- 目前只支持 mdict 的 v1 v2, 不支持 v3, 因为我还没遇到过 v3 格式的词典
- Future work
- 希望能有更加轻量级的呈现 html
- 有没有可能用 ai 来自动提取 html , 并做好换行呢 ?
- 希望能有更加轻量级的呈现 html
- 我个人也觉得不是很好用, 不过由于缺少类似的工具, 所以还是发出来, 抛砖引玉
- 项目地址
- https://github.com/lengyijun/mdict-cli-rs/
1
共 1 条评论, 1 页
评论区
写评论