写点什么

Markdown 的标准化之路

  • 2014-09-09
  • 本文字数:1357 字

    阅读完需:约 4 分钟

一群来自 Stack Exchange、GitHub、Reddit 以及其他组织的代表发起了对 Markdown 进行标准化和功能增强的项目,名字为 Standard Markdown。但是他们的努力遭到了 Markdown 语法创建者 John Gruber 的反对,John Gruber 不希望 Markdown 用在其他项目中,所以标准化项目最后改名为 CommonMark。

Markdown 于 2004 年发布,包含一套纯文本格式化语法以及由其创建者 John Gruber 发布的 Perl 工具,该工具用于将符合 Markdown 语法的纯文本文档转化为对应的 HTML。多年来,Markdown 语法被逐步采纳,现在使用它的有 GitHub、Reddit、Stack Exchange、SourceForge、Atlassian Confluence 等,所以我们可以认为 Markdown 已经被整个软件社区所采用。Markdown 的成功与其简洁性紧密相关,Gruber 当初的设计决定了 Markdown 今天的成功,

Markkdown 格式文档应该以纯文本发布,并且看起来不会像是由许多标签或是格式指令所构成。

不是所有人会为 Markdown 的发展感到高兴,但更多的人不想看到它止步不前 。Markdown 语法从 V1.0.1(2004)就再没有更新,所以很多人创建了转换工具,可以生成带有略微差异的 HTML 文档,在 Babelmark 工具中有所展示。另外有热心者为 Markdown 增加了各种功能,如表格、定义列表,脚注等等。

在希望改善 Markdown 的众人中就有 Jeff Atwood,他是 Stack Exchange 包括 Stack Overflow 的联合创始人。根据Atwood 的博文,由若干“来自GitHub、Reddit、Stack Exchange 以及开源社区的重要代表”组成了一个“小型非公开工作组”,打算将Markdown 标准化,并为了进一步的改进开放该标准。工作组于近日发布了 Standard Markdown ,随之有专门的网站 standardmarkdown.com,但发布几天后应 Gruber 的要求被迫关闭了。

在一则发给Atwood 的私信中,Gruber 说标准使用了Markdown“令人愤怒”,要求标准化工作组重新命名项目,关闭standardmarkdown.com 并且道歉。对于名字,Gruber 建议工作组可以使用比如Strict Markdown 或Pedantic Makrdown 类似的名字。Atwood 希望有其他的名称,在等待Gruber 的反馈一天无果后,将其重命名为Common Markdown。但Gruber 最终补充说“只要带有‘Markdown’一词的任何形式,他都无法接受 ”,所以Atwood 和工作组将其改名为 CommonMark

社区对标准化的成绩以及 Markdown 一词的使用反响异常激烈,也催生了数以百计的评论(标准促进Markdown 发展 Standard Markdown 变为 Common Markdown Reddit Twitter )。其中有部分是维护 Gruber 立场的观点,拒绝任何标准化的事情,还有另一部分希望使其标准化并改善之。希望深入了解标准化的读者可以移步相关站点, CommonMark 网站包含了该标准,GitHub 仓库中包含基于C 和JavaScript 的标准实现,以及大约400 个一致性测试,还有论坛,里面已经有不少相关的主题。

作为补充,Markdown 起初以 BSD 风格的开源协议发布,该协议中规定“在没有事先书面许可的情况下,不可以将’Markdown’或其贡献者的名字用于宣传或推广该软件所衍生的产品”。

查看英文原文: Standard Markdown Becomes Common Markdown then CommonMark


感谢曹知渊对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-09-09 07:384673
用户头像

发布了 28 篇内容, 共 85960 次阅读, 收获喜欢 0 次。

关注

评论

发布
暂无评论
发现更多内容

什么是跨职能合作的关键?

王辉

团队管理 技术管理 沟通

智慧公安情指勤系统搭建,指挥调度平台解决方

13828808769

智慧公安

升级JDK到1.8笔记

风翱

jdk8 4月日更

《分布式系统设计》(2) 关键概念和基本问题

陈皓07

JVM-技术专题-MAT解析OOM问题

洛神灬殇

JVM

微服务中台技术解析之项目环境隔离

小江

kafka 架构 DevOps 后端

神秘又强大的@SpringBootApplication注解

vivo互联网技术

Java 后端 springboot 注解分析

透气胶浆、无手感透气胶浆

C13713145387

透气胶浆 仿拔印浆 无手感透气浆

SpringCloud(Netfix)-技术专题-服务注册与发现

洛神灬殇

SpringCloud

「MySQL」深入理解事务的来龙去脉

学Java关注我

Java 编程 架构 程序人生 软件架构

余额宝|三年开发|一二三四+HR面面经,已拿offer|

Java架构师迁哥

Python OpenCV 图像处理之图像直方图,取经之旅第 25 天

梦想橡皮擦

Python OpenCV 4月日更

《分布式系统设计》(1) 从程序思维到系统思维

陈皓07

树莓派安装pytorch

IT蜗壳-Tango

4月日更

升级版数字人民币试点在深启动 这次有啥不一样?

CECBC

数字人民币

Linux 下的Zabbix Agent 安装

耳东@Erdong

Linux zabbix 4月日更

Spring 类型转换

邱学喆

Converter spring类型转换 GenericConversionService GenericConverter ResolvableType

Linux grep 命令

一个大红包

4月日更

三分钟热度的你,不会得到你想要的结果

小天同学

坚持 日常感悟 4月日更 专心 个人思考

防晒衣专用水性油墨说明书

C13713145387

防晒衣专用水性油墨 防水尼龙水性油墨

无脑用 react 的 useCallback

sadhu

React Hooks 无脑 useCallback

Rust从0到1-枚举-定义

rust 枚举 Option

区块链商品防伪溯源平台搭建,实现数据信息安全共享

13828808769

区块链 商品溯源 #区块链#

爽面数码打底浆说明书

C13713145387

爽面数码打底浆 哑面数码打底浆 数码打底浆

对混沌工程的五个常见误解

混沌工程实践

混沌工程 故障注入 误区 生产事故 监管合规

真假敏捷教练

escray

面试 面经 4月日更

Java流(Stream)操作实例-筛选、映射、查找匹配

Java小咖秀

Java stream java8 日常开发

区块链电子证照平台搭建,助推政务数字化发展

13828808769

电子存证 区块链+ #区块链#

InheritableThreadLocal源码解析,子线程如何获取父线程的本地变量?

徐同学呀

ThreadLocal Java源码

Coinbase上市在即,这里有你想知道的一切

CECBC

比特币

Spark的动态资源分配

小舰

Spark调优 4月日更

Markdown的标准化之路_开源_Abel Avram_InfoQ精选文章