所见即所得?——谈谈Markdown
举几个例子:
-
在这些编辑器里,HTML中用来定义段落的标签
<p>几乎从来不会自动应用,除非你手动编辑HTML。当你回一次车,一般会产生一个<br />(这个标签的意思是换行,而不是分隔段落),而当你习惯性的回两次车想分开上、下两个段落时,其实只是在其间插入了两个<br />罢了。 -
很多编辑器不使用
<strong>、<em>来表示加粗或斜体强调,而是使用很多内嵌样式的<span>,比如:<span style="font-weight: bold">Some Text need to be emphasized</span> -
而当你打算修改某一个文字块的样式时(比如改变字体颜色、居中等等),几乎所有的WYSIWYG编辑器都会在该文字块前后加上
<div>标签并在标签里内嵌样式。
这样你编辑的文字只是“看上去很美”,实际是一堆包含大量<div>、<span>和<br>的垃圾。Zeldman已经告诫过我们99.9%的网站都是过时的(99.9% of websites are obsolete.),我以为,我们整天使用的这些欺骗我们的眼睛的工具,其实是在一刻不停的继续制造这些过时的代码。
我曾经对此十分的无可奈何。最近终于发现了一种Web文本编辑的解决方案:Markdown。其网页上的介绍如下:
Markdown is a text-to-HTML conversion tool for web writers. Markdown allows you to write using an easy-to-read, easy-to-write plain text format, then convert it to structurally valid XHTML
用非WYSIWYG的纯文本进行编写,再经过转换成为标准的,可靠的HTML。这种方法与传统编辑器的区别有点类似于LaTeX与Word的区别。但与LaTeX不同的是,Markdown的语法并不复杂,使文本即使在以纯文本的方式编辑时也保持了良好的结构性和可读性,与平时的书写习惯保持了某种程度的延续,甚至可以认为它是50%的所见即所得。最关键的是,这种方法能把漂亮的纯文本转换成同样漂亮的HTML。
比如:*text*表示斜体的强调,**text**表示加粗的强调;>开头的代表引用的文本;空行分割两个段落……你所做的只是写,而格式方面的东西不用花费太多心思。其中我最喜欢的一个功能就是,你可以把在文中需要链接的地方用[需要链接的文字][1]这样的方式标记,然后把要链接的网址集中列在文后,有点像传统的脚注的感觉。
Markdown现在已经被应用于几大著名的Blog系统,如MovableType、WordPress等。也正是因为最近慷慨的panwh送给了我一些空间使我有机会再次体验WordPress,我才发现了WordPress的这个插件。(很不幸,最新的Wordpress也默认采用了所见即所得)
以前,好像也声讨过Blogbus的编辑器,但那更多的是一种单纯的报怨。现在,有了这种新的书写方式,我看到了一个不再被折磨的明天。 Markdown本身的发明并不是为了取代WYSIWYG,而且萝卜青菜各有所爱,所以我也不想建议Bus放弃现有编辑器,甚至还希望你们能把现在的编辑 器做的更Robust(至少,得把“列表”这种常用的按钮加回去吧),我所希望的是,在同时提供所见即所得编辑的同时,能够以可选的方式提供Markdown的支持。如果这个建议如果真的被采纳,我觉得那将会是Blogbus的一个伟大改进!
P.S. 想介绍Markdown已经好几天了,一直没有想好怎么写也一直没时间想。今天胡乱写些,以后争取翻译一些Markdown语法的介绍。如果你想看看这篇Blog用Markdown的方式写出来是什么样子,可以在这里下载纯文本的mkd文件,记事本打开就能看了。
