我对文本标记语言的粗浅看法

关键词: 标记语言, Markdown, WYSWYG, WDTP, 山湖路, 扩展标记

计算机数字化处理文档有两大分支,一是纯文本化处理(内容与格式/样式基本或完全分离,或者不需要任何格式/样式);二是所见所得处理(内容与格式/样式等方面合而为一)。前者最常见的有我们平时上网浏览的各类html网页,后者则有Word、Pages等一大批典型代表。这两大分支各有缺憾,也各有优势。一个不可否认的事实是:对文字写作/创作与编辑的效率要求较高,对结果呈现的品质追求较完美,需要最大灵活度、个性化和精细化的处理模式,一定会选择“纯文本化、内容与格式/样式分离、专业的事交给专业的人(工具)去做,我只做好自己能做好的”这种方式,或者部分/全部舍弃所见即所得,在纯文本化处理方面做某种妥协和折中[1]

说到底,这其实也是一种思维逻辑与工具使用理念等方面的差异与分化。毋容置疑,纯文本化的文档处理方式更适合接受过长期、严格、正规的抽象思维和理性思维训练的人。

中国大陆,基于国情和历史原因,绝大多数人使用计算机是上世纪90年代之后的事。这恰好错过了全球范围内个人计算机普及与应用的第一大浪潮[2]。80年代后,以IBM和乔布斯的Apple公司等企业为龙头,无论计算机本身、计算机程序,还是人机交互方式,均向微型化、民用化、大众化与GUI化等方面大肆发展——这肯定是利弊参半的,虽然商业方面很成功。稍后,微软公司不失时机地跟进、助推并崛起,这至少导致了文字处理方面以AppleWorks[3]和微软Office(尤其是Word)为代表的“所见即所得(WYSWYG)”方式开始大行其道。恶果就是这种并不真正“人性化及高效率”的文字处理方式对国内广大计算机用户产生了根植性的影响与桎梏——虽然WYSWYG这种模式和操作方式确实“看起来挺美”,上手也较快。

技术始终在发展,个人微型计算机这一块,传统的GUI人机交互方式和文档WYSWYG处理正在被更新、更先进、更智能和更人性化的模式所取代。但是,无论再如何发展或更新换代,计算机这个客观存在的实体在底层硬件架构与处理逻辑基本不变的前提下,天然为效率和简洁而生的纯文本化文档处理方式和“分而治之、各司其职”等本质性的操作理念、工程理念和协作理念始终无法被取代和超越,也始终会有一大批人固执坚守或不断新进。我必须得承认,我本人多多少少有一些古老和传统的“信仰”,讨厌随大流,还不时泛滥一丝丝怀旧感——这些可能是促使我开发并不断完善WDTP(山湖路)的潜意识和最直接动力,至少占了相当大的主导因素[4]。这些因素日积月累,终于形成了导火索,而后在我浏览陈坪先生的文章时,不经意瞬间点燃。

Markdown这些年很火,它是一种简洁有力的轻量级文本标记型语言。这种类型的语言很多,比如LaTeX、ReText等等,html也算一种(html属于超文本标记语言,相对来说比较“重”)。我对这些语言的认识之一是:它们是一座桥梁,在内容与格式/样式这分离的两者之间架起了一条并不直接的坦途。之所以说不直接,是因为这中间有一个不可忽视的重要环节:原始内容的易读性。相比其它较“重”的文本标记语言,Markdown在易读方面相当出色。关于坦途的终点——渲染效果,说到底,其优劣好坏与标记语言本身基本无关,与解析器及渲染器,包括解析后的样式控制等等关系巨大。也就是说,如何呈现,呈现什么,你来做主(比如自定义渲染模板及css样式表)。这多好!这难道不是每个人都应该终生追求的精神自由之一么?

开始在实际生产中使用Markdown,源于我在软件工程这个领域里的良师益友Vinnie(没错,就是当年数字音乐下载与分享这波小浪潮的始作俑者与技术先驱之一,也是由此而导致的某宗版权纠纷案的第一被告。Vinnie最后败诉,被判罚了1千万美金),还有重度依赖并大力助推Markdown的GitHub网站。大概2011年的某天,为方便某个合作项目的交流与评测,Vinnie极力怂恿我将代码库从某老牌网站迁移到GitHub上,并使用Markdown来写漂亮的文档以及格式丰富的交流讨论。我试了一下,果然不错,确实方便,文档也美观多了。于是就开始了Markdown的码字之旅。

刚接触时,我对Markdown并没有很深刻的认识,只是觉得它与网页结合起来,在纯文本化处理文档时确实省时省力了很多,大概可以归类到互联网时代、信息传播与分享方面的又一个精致的“小甜品”。随着使用与思考的增多,使用范围的扩展与延伸,我最初的一些肤浅认识开始变化……变化的结果,就是WDTP(山湖路)基本全盘采纳、使用并拓展了Markdown,并对其最核心的理念进行了最大限度的理解、尊重和再现。

Markdown并不足够完美,甚至很多方面不理想,但瑕不掩瑜。此外,John Gruber和Aaron Swartz并没有强制统一标准,这就允许任何人可以对它的语法进行删减和简化,或者拓展和丰富——事物总是两面性,辩证的哲学与哲学的辩证无处不在。标准不强制性统一这一点可能杜绝了有可能因之而来的商业利益方面的垄断、封闭与专横,但恶果也显而易见——直接导致了Markdown的“方言”较多、很杂,非常不利于文档的流通、移植、交换和分享。

不管如何,Markdown的现状就是不统一、“方言”又多又杂。既然如此,我不妨再添点乱:)《示例与语法详解》一文给出了WDTP(山湖路)原生所支持的所有Markdown语法,包括我个人改写并自行扩展的一批崭新的文本标记及其解析,敬请参考。我用这些标记及其解析向所有坚守传统、为效率而努力的人们致敬。

SwingCoder

尾注:

  1. 比如使用Markdown文本标记语言在不是非常特殊与专业的场景下写作/编辑的同时一并控制内容的格式与样式,而后使用自带渲染功能并支持Markdown语法解析的纯文本编辑器,或者干脆直接运用Markdown解析、html+css+js技术控制结果的呈现——无论静态浏览、分享传播、出版发行,还是动态呈现、架构各类惊人的功能或效果,都基本可以做到相对理想。
  2. 这导致很多国人对计算机这个为效率而生的机械类工具的本质性操作理念认识不够全面,观念也颇多狭隘。
  3. 后来演变为Pages等苹果办公软件方面的标准三件套。
  4. 另外几个比较直接的因素是:写作,笔记,个人知识管理,建站,网站内容的编辑、管理,数据本地存储与静态生成,前端代码调试等等。

创作时间: 2017.03.10 06:53
最后修改: 2017.04.05 19:38

本文版权:UnderwaySoft   共享协议:署名-非商业使用-禁止演绎


上一篇: 山湖路示例及语法详解
下一篇: 关于WDTP自行扩展的文本标记

 随机推荐:
Email: underwaySoft@126.com 微信公众号: UnderwaySoft