< 返回版块

lengyijun 发表于 2024-01-07 09:03

Tags:mdict, 词典

  • 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 , 并做好换行呢 ?
  • 我个人也觉得不是很好用, 不过由于缺少类似的工具, 所以还是发出来, 抛砖引玉
  • 项目地址
    • https://github.com/lengyijun/mdict-cli-rs/

评论区

写评论
作者 lengyijun 2024-01-07 10:10

asciicast

1 共 1 条评论, 1 页