html优势还是比较大的,最起码一点,随着渲染引擎更新和标准迭代,html几乎有无限的可能性,而词典软件几乎不需要做什么只需要调用或更新渲染引擎就能自动适配。
个人理解,词典软件对html的处理,仅仅包括:(1)超链接的处理,实际上只需要处理特定的属性,譬如href=‘entry://’、href=‘sound://’、src=‘’;(2)多个词条怎么呈现,iframe(如mdict android,dicttango瀑布流)或词条拼接(GoldenDict)或单独渲染+切换(dicttango滑动)。其他方面都交给渲染引擎就行。
Rayman在发布mdx之初,当时的mdx词典普遍样式简单、功能除了个发音相当于没有。但就因为其底子是html,通过对html5标准的运用,才有了诸如ldoce5++这种功能极其丰富的词典,有了百花齐放的排版和功能修改。以我自己修改词典为例,像大英百科2010,当时作者就有抓取离线视频资源,但并没去实现播放,我就在网上查了下发现video标签,然后照葫芦画瓢试了下就成了;再像最近搞的发音瘦身,因为sppex被官方弃用并以opus作为后继,尽管没有谁表示mdx支持opus,但我查了下发现现代浏览器都支持opus,尽管mdict android不支持href='sound://xx.opus’这种私有格式播放,但通过html5标准的audio方式就实现了目标;甚至一些想要的功能、设计,只需要自己去网上(比如w3school,虽然有人吐槽假官方有错误但我觉得还是蛮好用)去搜一下就能解决。可以说,使用html作为词条内容呈现的mdx具备了跟随html标准自动迭代升级的能力。
如果说真要做个新格式,我个人觉得还是得基于html。我觉得可以包括三大块:(1)词头;(2)特殊格式解析区,这块可以标定默认发音、词形变化等,像词性变化目前mdx是通过@@@LINK
实现的,可能会出现重复词条;此处也可标定某些词条不可检索,比如目前oaldpe里存在诸如set_1、set_2的内容,或许可以在这一块简单处理标记;(3)内容区,使用html。第二块通过特殊的标签围起来,并且可以为空,这样的话当前的mdx资源只需解包后很简单的正则替换就能重新打包成新格式,不浪费当前的成果。
2 个赞