去年 6 月的时候,我在这里说准备设计一种轻量级标记语言,当时反响一般,我想主要原因是那时我自己都还没有把要做的事情完全想明白。一晃一年多时间都过去了,终于写出这个标记语言的初稿,并将它叫做 InkMark。
相对于其他各种轻量级标记语言,InkMark 具有以下特性:
**着重强调**
表示要 着重强调 的文本,Inkmark 中却使用 *[着重强调]
达到同样的效果。InkMark 不像 Markdown 几乎为每种常用元素定义了简单且直观的标记方法,它很“死板”,几乎是为所有元素定义了相同的标记规则。因此 InkMark 不如 Markdown 那么直观,也不如 Markdown 那样特别适合编写程序开发文档。但 InkMark 的标记规则相对更容易学习,并且其表达能力要强得多。其元素内容的边界范围也更加明确,不容易产生歧义。当只使用常用的标记功能时,它几乎和 Markdown 一样简单。
和 HTML 相比,InkMark 的完整模式几乎具有和 HTML 相匹配的描述能力,但元素边界不如 HTML 那样通过起始和结束标签项明晰标示。而 InkMark 的简写模式则要比 HTML 简单得多,适合手工书写,且源代码也更易读。InkMark 能做到在完整模式和简单模式间无缝切换,很好地在简单和功能强大间取得了平衡;不过两者进行切换的规则需要额外的学习成本。另外,针对学术文档的书写这一特殊目的,InkMark 通过加入一些自定义元素大大增强了其表达能力。
相对于 LaTeX 这种专业的学术论文排版系统,InkMark 主要专注于为文本添加常用的结构和语义,而其他更多的功能,如文本和页面样式,则大多交给其他程序(如和网页关联的层叠样式表 CSS )来完成。因此,其功能要远远少于 LaTeX,但也简单得多。
目前我只是用 HTML 格式写了一个长长的文档,真的是很长很长的一个文档,干这个事的难度比我预想的大多了。暂时先把这个文档发布在我的博客上:
这么长的文档,里面肯定有表述错误,请大家不吝指出!
我自己没有精力编写该语言的解析器,我只是先把这个文档放出来,看看大家的反馈。如果反响不错,将会进一步投入精力,并希望能有更多的人参与这项工作。
期待大家的讨论,谢谢!
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.