使用git维护mdx字典源码(附大量字典)

https://github.com/torappinfo/booksInmarkdown

https://github.com/torappinfo/century-dictionary

实际使用中这个方案特别好用,保留了所有修改历史。即使做过程序替换也可恢复并保留替换以后发生的修改。

总结:

  1. git操作上g文本不会有任何性能问题,但不知github之类有没有免费仓库额外限制?首次push需t加速,其余速度很快。

  2. 每个条目一个文件根本不可行,光文件管理就是超大工作量。而单文件维护一个人就足够了。

  3. wiki的方式同2,大量手工操作,工作量很大,需要组织大量人力。如果有命令行界面,也许还可行?

1 个赞

稍微大的词典真的不适合传统 git 维护

1 个赞

很合适,其中century-dictionary markdown格式45M, 如果html的话大概要90M左右。这是目前github上的版本。其余如oed我也用git维护,markdown格式800M左右。

如果有编辑需求,推荐使用vis, sed。性能特佳,800M文件几秒搞定。

每次修改,git都会将整个文件保存快照,800M的文件,你要是经常修改的话不但空间使用是个问题,push的话也会很花时间吧?

1 个赞

每个字母1-3个文件?如果有拓展词头(@@@link这样的)单独一个文件
太大了确实push一下都费劲,服务器硬盘开销也是问题。

另外,只能自己架设git。版权内容没办法放到GitHub。

最为理想的,每个单词一个文件,wiki + git 结合的一种协作方式(外观显示wiki,底层数据存储git )

单文件Git维护还不错,但好像有文件大小限制,网页上传是25M,命令行上传是100M(不确定)。单文件缺点是网页上看不到修改的地方,Github文本显示限制是512K,超过限制的文本不显示。只能下载到本地查看。

多文件Git是不可能的,Github不支持大批量的修改和上传。

wiki就有版本管理的。

1 个赞

英汉对照的内容怎么呈现比较好?

读完英文字用法指南过后,我有兴趣读一遍Webster’s New Dictionary of Synonyms:

  • 现有英文版mdx有不少遗漏,需要补;
  • 中文内容不知道怎么与英文内容一一对应起来合适?

https://forum.freemdict.com/t/topic/1634/61

如果你想每句话对应的话,就挺困难的。。我以前见过一个文档网站,是英文机器翻译的中文,它是悬停在中文上的时候显示对应的英文,这个方法也行,但是我找不到是哪个网站了。不过你提到的词典采用 上英文下中文的方式也可以吧。

这种还是略显疏阔了些
我是想让中英两句话或两段话有个共同的编号,然后用js生成一个浮动按钮,点击按钮切换光标所在位置对应编号的中英文。
我js不是很熟,不知道怎样设计HTML和对应js代码

这倒是不难,就是不知道是不是伪需求。。

确实。现在我只是设想一下最后的样子,评估总工作量。
也许工作量最大是给每段话加上正确的编号,而Webster’s New Dictionary of Synonyms 有909页,双栏小字排印。

你误解git了,git只保存每次的改变,除首次push要用t加速外,其余push很快。你的那个说明只是功能方面的等价,并不是真的每次保存800M,否则git就该死了。firefox之类的仓库动辄几g, 每次保存snapshot要死了。

超大文件查看不是问题,超微浏览器直接支持各类格式超大文件查看。移植到chrome或其它浏览器也就是打个包而已。

git push 单文件100M限制有链接吗?但免费仓库以前有1g限制,不知现在如何?

一个单词一个文件是开玩笑吧?同一目录几十万个文件本地系统操作都会费力,用windows的话要死机了吧。

单次push不能超过100M

GitHub blocks pushes that exceed 100 MB.

单次修改也有限制,不能超过2万行,或者500KB的diff data,这意味着正则批量修改也是不行的。

No single file’s diff may exceed 20,000 lines that you can load or 500 KB of raw diff data.

请问一下英文版有什么遗漏?

Merriam-Webster’s Dictionary of Synonyms 韦大黑 pdf

我具体对git文件的存储不是太了解,但是从这本书里面说的那样来理解应该就是保存整个文件。里面还提到了,为了保持效率,如果文件本身没有变化,就不会复制过去,只会创建一个链接指向原文件。

你可能没用过git, 用过的都知道,git基本上只保存修改部分,改了一个字节估计保存不会超过10字节。