官网是 http://standardmarkdown.com/ 手册在 http://jgm.github.io/stmd/spec.html 有个 Demo http://jgm.github.io/stmd/js/
然后 Jeff Atwood 专门发文章介绍了啊。http://blog.codinghorror.com/standard-flavored-markdown/ 大概就说 Markdown 方言太多太乱,于是做了个标准,别人都通不过,只好重新..之类的. 还用 discourse 论坛的 Markdown 做例子 http://talk.standardmarkdown.com/
忍不住要吐槽,行尾两个空格换行这个事情写在标准里边,真是没法忍. 当然不管怎么说标准话了都是好事情。
感觉剧情出现了逆转,我在那边论坛吐槽时候有人告诉我规范里是要求对 soft breaks 设置选项的:
http://jgm.github.io/stmd/spec.html#soft-line-breaks
A renderer may also provide an option to render soft line breaks as hard line breaks.
这么一来也算能接受了。
行尾两个空格实现的换行对应的是 <br />
,我觉得非常合理。因为很显然你不能用单一字符来代表 <br />
,而重复的多个字符还有比两个空格更简单,更少干扰的吗?
从写作的角度考虑,<br />
用来换行是特殊情况,大部分时候我们需要的不是换行(属于同一段落的东西就一直写下去好了,具体的呈现——比如说一段文字每一行不应该超过 80 个字符——则应该由 CSS 来控制)。真正需要作者敲下回车的时候,往往是要分段的时候,也就是需要用 <p>
的时候。这一点 Markdown 已经实现了的,考虑到在纯文本编辑器里并没有段间距这么一种设置,所以就用两次回车来区分段落,解析的时候会自动转换为 <p>
标签。
顺便一提,我看过你写的很多东西,你自己的习惯是写一句断一行写一句断一行,所以 Markdown 的 处理方式显然是你不能忍的。可是你有没有想过这其实是你自己的问题?我们从小学习写作的时候都不是你这种写法,无论古今中外不外如是。
#1 楼 @nightire 我书写的方式一个问题,但我不是毫无考虑来标新立异.. 先不讨论这个问题。
我第一次接触 Markdown 是在 Grudigger 网站上,某次改版,突然就出现了回车被强制转换,后来访问 Hacker News 一样,也被这个问题困扰很久.. 就跟命令行下面输入密码的事情一样,可以说成是为了什么考虑,可是带来的困惑比好处多。
尤其在中文的字符密集程度下面,大段不换行的文本对可读性的影响更大, 我想中文社区支持 Markdown 的这么多论坛,大部分采用 GFM, 不是没有考虑,在聊天的场景当中使用不直观的换行确实是要造成困惑的。
这份 Spec 里做得好了点,给了个比空格来说友好点的方案:
For a more visible alternative, a backslash before the newline may be used instead of two spaces:
baz
<p>foo<br />
baz</p>
很多编辑器、IDE 都有自动去除行尾空格功能,并且这个功能也被用的非常普遍,用这些工具来编辑按照这个 Spec 的 Markdown,最后的结果肯定是个排版的噩梦(“我这里明明要换行的,怎么连起来了?咦我刚输的空格哪去了?”)。最后的结果肯定是需要对 MD 格式做特殊处理,对一个人来说不麻烦,但对一大群人来说,这就是个比较严重的问题。
发现那边论坛有人告诉我规范里写了必须提供控制 line breaks 换行的选项,这么一来好多了。
http://talk.standardmarkdown.com/t/on-line-breaks-which-i-think-is-inconvenient/280/3?u=jiyinyiyong
A renderer may also provide an option to render soft line breaks as hard line breaks.
#5 楼 @ugoa 这个应该不是问题的,像 Sublime 是有支持特定语法的配置的,你可以针对 Markdown 格式设置不自动去除行尾空格,可以看我的这篇博文: http://martin91.github.io/blog/2014/08/03/sublime-text-2ji-yu-yu-fa-de-pei-zhi-wen-jian/
Standard Markdown is now Common Markdown
http://blog.codinghorror.com/standard-markdown-is-now-common-markdown/
我记得那个博客里有个说法是有 20 种 Markdown 实现,然后他们一测试,编译出来的 HTML 有十五种.. 然后现在他们搞的估计就是第 21 种跟第 16 种了..
#12 楼 @jiyinyiyong Jeff Atwood 最近两周才联络 John Gruber,没有回复的情况下自称 Standard,激怒了 John Gruber。
John Gruber 发布 Markdown 之后就不闻不问的,最新版还是“Markdown 1.0.1 (18 KB) — 17 Dec 2004”。然后任由方言发展,其实很多人搞不清楚哪个是标准,编辑器要支持什么特性没个准。
唉,希望这事能有个结论,把 Markdown 标准化。