发布地址
一键制作图片词典:原始词条==> 标准化词条==> mdx源文件 ==> mdx词典文件
精彩案例
https://forum.freemdict.com/tag/mdxsourcebuilder
动图演示
更多视频演示:MdxSourceBuilder_哔哩哔哩_bilibili
缘起
ref: 图片词典的制作规范与开源工具
一键制作图片词典:原始词条==> 标准化词条==> mdx源文件 ==> mdx词典文件
https://forum.freemdict.com/tag/mdxsourcebuilder
更多视频演示:MdxSourceBuilder_哔哩哔哩_bilibili
ref: 图片词典的制作规范与开源工具
一键制作图片词典:原始词条==> 标准化词条==> mdx源文件 ==> mdx词典文件
时常遇到一些好资料,怎奈只有纸质版或扫描版之类,希望将这些资料转换为可以检索的mdx词典,既方便使用,也提高利用率。
但是,常常在辛苦整理好词条(这是纯苦力活)之后,使用过往技术方案实现的成品却不够理想,不理想之处有两大方面:
这完全可以通过工具来解决。
本来我只是提出痛点,希望有高人能出手解决,怎奈高人大都不屑于处理。
本非码农,可鉴于实在痛的厉害,只好自己用三脚猫功夫倒腾了人生第一个具有完整功能的程序。在此之前,从来没用过list、dict之类的,连这个github发布,都是现学现卖,还望高人不要耻笑,多提点才是。若有高人能够弄个更好的程序或是python版的或是GUI版的,那大家就有福了,我这纯粹抛砖引玉。
非码农的好处,或许是可以有更好的用户视角:既考虑词典终端用户的使用体验,也考虑普通的词典制作者的使用体验。虽不能解决所有问题,但至少已能解决我自己的大部分诉求,希望也能解决众多mdx词典用户的些许痛点。
基本思路: 1.原始词条==> 2.标准化词条==> 3.mdx源文件 ==> 4.mdx词典文件
原始词条:鉴于资料的多样性,原始词条的获取方式也是多种多样,有OCR来的,有手工输入的,也有从其他人的资料转编译来的,也有是因为制作人的喜好或用的工具不同,导致原始词条的格式完全不同。这个特点造就了解决方案必须:(1)兼容多样性,将最常见的词条样式纳入进来;(2)开放性,用户可以根据需要自定义更多个性化的原始词条样式。
目前,本程序已经实现了对三种原始词条样式的兼容,用户也可以根据需要自定义添加。
标准化词条:若能将多样化的原始词条转化为标准化的词条,那么后续就可以标准化处理了。因此如何定义标准化词条就变得很重要,它是实现后续程序的基础。
目前,本程序已经提出了一个1.0版的最基本词条标准:一行页码,之后跟随多行关键词,每行一个关键词,如此往复。之所以说1.0版仅仅是最基本的标准,是因为这个标准还未能兼容如分栏、多层级词条等更复杂的情形,这些都有待后续有高人继续升级完善。
mdx源文件:这个txt文件与其他技术方案的最大区别是——包含了足够优良的页面导航、关键词导航以及用户自由定义的导航信息,极大提升用户对图片词典的使用体验。图片导航如何设计仁者见仁智者见智,因此,解决方案必须:(1)足够优良,不能太简陋,能用机器实现的定位,就不要浪费肉眼定位、繁琐操作定位等人类的精力;(2)兼容多样性,将最常见的导航样式纳入进来,比如封面附录等无需关键词导航、正文等需要关键词导航、拼音等则无需导航直接转链接到现有页面即可;(3)开放性,用户可以根据需要自定义CSS样式,或者添加更多个性化的导航样式。
目前,本程序已经实现了三种导航样式,满足一本常见词典的基本需求,同时本程序会输出配套的精细CSS,方便用户个性化定制,此外用户也可以自由添加、改造导航样式。
mdx词典文件:这个步骤是可选项,但一步到位可以极大提升用户的体验,更重要的是使用这个工具可以实现跨平台制作mdx词典了,不必局限于Windows,Linux、Mac统统不在话下。当然要说明的是,这一环节用到了另一个开源工具, GitHub - liuyug/mdict-utils: MDict pack/unpack/list/info tool ,功劳统统属于他!
根本谈不上安装,因为整个程序就是3个Vim脚本文件而已,下载后,直接将这些脚本文件放在与词条文件同一个目录即可。
其他文件,都是附带的Readme、动图演示、参考资料、案例词典之类,可以忽略。
为展示程序的特点,特制作了“火星词典”,供观摩使用。
案例使用:打开Vim,输入命令 :bro so
,找到MdxSourceBuilder.vim,打开,结束。
打开Vim,输入命令 :bro so
,找到MdxSourceBuilder.vim,打开,结束。
:bro so
,找到MdxSourceBuilder.vim,打开,结束。打开Vim,输入命令 :bro so
,找到MdxSourceBuilder.vim,打开,结束。
用 Vim 打开 MdxSourceBuilder.vim,新建文档:new
,输入命令:so MdxSourceBuilder.vim
甚至输入:so mdx
之后,按Tab键即可自动补全命令 :so MdxSourceBuilder.vim
这个新方法的逻辑,其实是利用Vim首次打开一个文件时,会将该文件所在目录设置为Vim当前工作目录。
也可以使用系统命令 :cd
来更换Vim的工作目录,如 :cd d:\火星词典
若您使用附带的_vimrc
,还可以直接使用自定义的命令 :CD
将Vim的工作目录切换为当前文件所在目录。
Q: vim出现乱码
A: 请将_vimrc
文件复制到$HOME
目录下,Windows下即是c:\Users\YourName\
其中必备行是 set encoding=utf-8,其他可选,用于提升Vim使用体验
祝贺开新楼发布制作工具!
谢谢分享。
开源了,这样可以方便后来人不断修改完善mdx的制作
所以要先装个Vim?对非程序员来说,Windows上装个Vim似乎都挺费劲……
Vim与其他任何软件没有区别:
1、下载:到官方网站 https://www.vim.org/ ,看见 download 就点击。
2、安装:在Windows下更简单,都是眼睛闭起来,下一步、下一步。。。完成。
不要被莫须有的“似乎”吓倒了。
这个不难是建立在,只把vim当作最后的统一格式,统一编译的脚本执行器上,
要上手习惯vim的三种模式编辑文本,还是用户曲线挺陡峭的。
不过这套能统一规范的软件,还是真的值得好评!!!
请教一下大神,烦请指教哈,多谢。
实际操作起来需要安装 vim和python以及下载mdict-utils吗?
必须安装vim,这个程序很小,只有8M多,建议去官网下载 https://www.vim.org
Python和mdict-utils是可选项,不安装只能输出css和.txt词典源文件,不会输出.mdx和.mdd。
更新了程序。增加了自动设置工作目录的功能,让不熟悉Vim的用户操作更加简单,且不易出错:
打开Vim,输入命令 :bro so
,找到MdxSourceBuilder.vim,确定,结束。
进一步更新。解决Vim乱码以及满足常见的Vim用户需求。
请将 _vimrc
文件复制到 $HOME
目录下,Windows下即是 c:\Users\YourName\
好滴,谢谢您的指导!
授人以渔,好啊。一般图片版词典是OCR出索引,如下列格式:
勹 714
包 716
雹 816
保 631
寶 593
㬥 536
曓 777
暴 777
虣 777
那该设置何种格式?是"火星词典.Pinyin.txt"那样设为2?
'一行页码 + 多行关键词(每行一个关键词)'的标准词条格式&'一个页码+多个中文单字符的关键词’的压缩词条格式,这两者电子版书籍通常不会提供,一般是提供笔画索引或拼音索引。
要是能给出一部制作好的词典作指引更好。什么火星词典,不是食人间烟火者所要的。
你可以自行添加这种格式。或者先用正则将现有词条转为已有的pinyin格式2。
毕竟大家所处理的字典不同,情形很不一样。我给出的三种词条样式,都是我自己常用的。
导航中没有上一页和下一页,那是点阿拉伯数字(如图中1312、1313)等达到翻页的目的?
默认是这样的。这些你都可以改造,想显示上下页或数字,随便定制。
这么晚了还给指导,谢谢。
出个懒人包,所有工具包括vim、Python和mdict-utils,打包直接发在论坛多方便。