显示标签为“转载”的博文。显示所有博文
显示标签为“转载”的博文。显示所有博文

2013年1月30日星期三

玉帝帝国衰亡史(转)

转《西游记》的豆瓣一书评,是最近在豆瓣上看到的,好像是最热门(之一?)的一帖。
看完(评论)之后,倍感《西游记》乃一部巨著啊。评论内容主要围绕它乃仙界,佛界,三清系统(道家)斗争的一场巨大阴谋论。

呵呵,刚好最近工作之余,我稍微重温了《西游记》的一些故事章节。所以,借此机会侃侃而谈一两句,如下:
(个人浅见)其实嘛,关于《西游记》 ……
表面看,师傅四人西天取经的故事,神采而励志。
深点看,仙界,佛界,三清系统博弈的故事,阴谋与险恶。
更深看,借助神话揭露与讽刺现实丑恶的故事,腐朽与斗争。

注:以上的“现实”,可以代指写书那久远年代,额或许也可囊括一些当代的东西。

好了,回到开始说起的那篇评论吧……如此有趣而尖锐的评论不该错过呀。所以,特此转发评论如下:
------------------------ 转载开始 ------------------------
History of the Decline and Fall of the Yudi Empire    (译名:玉帝帝国衰亡史) 

  ——孙悟空先生访谈录(未删节全文翻译版) 

  问:你好,孙先生。 
  孙:你好。 
  问:孙先生,大家都知道您是西天世界最负盛名的军事家,所以对您突然流亡基督教世界感到很奇怪。您可以说一下大致的理由么? 
  孙:很简单,西天世界是如来的专制帝国。基督教世界现在是多个教会并存,个人自由有充分保证。我是来投奔自由的。 
  问:您能具体说说么?据我们了解,您在西天世界的爵位是‘佛’,应该享有很高的自治权。 
  孙:嗯……这个问题说起来很复杂。就这样说吧,西天世界本质上是建立在如来的独裁之上的,如来的地位又是通过阴谋和各种拉拢手段来巩固的,所以非常的黑暗。你们千万不要被他们表面上的宣传所迷惑。比如说,你刚才说我是最负盛名的军事家,表面上看,我曾经是西天世界军委副主席,国防部长,但是,这其实是一个各方面妥协的结果,和我本人的战斗能力不成正比,我本人也常因为夹在各种势力之间,而战战兢兢,如履薄冰啊。 
  问:您刚才说您战斗能力和您的职务不成正比,您的意思是…? 
  孙:我的意思是,我能力很弱,这是非常明白的一个事实。 
  问:但是,您当年曾经率领花果山反抗组织打败过玉帝帝国军,并最终瓦解了玉帝帝国对东胜神州,也就是现在大中华区的统治啊。您是不是太自谦了? 
  孙:玉帝帝国军不是我打败的。 
  问:啊?但是,据我们DNN的纪录来看,您在第一次花果山战役中,不是彻底击败了玉帝帝国军么? 
  孙:你说的那个第一次花果山战役,根本就不是真的打仗。 
  问:您能更具体些么? 
  孙:玉帝军当时的总司令李天王,根本就没有想要打仗,据我后来的了解,他在那个时候就已经在私下和如来接触,讨论武装政变,投向如来的事宜了。 
  问:这个消息非常的震撼阿,孙先生。您有把握您的消息来源么?如果您说的属实,这将会改写仙界的近代史。 
  孙:当然有把握。第一,他的二儿子,就是木叉,就曾经在观音姐姐那里做事,我有确凿消息,战前观音姐姐把他派到玉帝军紧急磋商。还有,你看那个巨灵,就是一个小军官,李天王派他带一个小分队过来,明显是装样子的。那个时候我们有6大反抗组织,72洞妖王,全部都聚集在花果山前线,明显他就是来送死的么。 
  问:那么哪吒将军呢?后来您和哪吒将军的决战呢?您不是取得大胜了吗? 
  孙:记者先生,说实话,我认为我和哪吒将军之间打得那场仗,完全是哪吒将军故意败给我的。论部队的士气和指挥官素质,哪怕是个人战斗能力,我和哪吒将军都不分彼此。 
  问:但是,哪吒将军的回忆录说,您是他军事生涯中唯一一个不可战胜的对手。 
  孙:记者先生,你想,哪吒是李天王的儿子,那个时候又是李天王的总参谋长,他的行动,完全是依照李天王的指示来的。我举个例子来说,哪吒和二郎神的战斗力,应该不相上下吧?我和二郎神的战斗,就是打败的,里面的窍开你应该知道了吧? 
  问:那二郎神为什么能在战斗中打败您呢?他不是李天王的将军么? 
  孙:哈哈。二郎神是玉帝的亲戚,记者先生,您不会连这个都忘记了吧?还有一点就是,二郎神一向都是地方军事寡头,李天王从来都管不到他的。 
  问:那么说来,为什么在玉帝帝国崩溃的时候,二郎神不能起作用呢? 
  孙:这个问题问得好!记者先生,你想,在第一次花果山战争之前,二郎神都是干什么的?他是地面军军区的。第一次花果山战争之后呢?他成了天宫军的。但是,天宫军就是李天王的私人部队,又是就在李天王眼皮底下,二郎神能干啥? 
  问:您的意思是明升暗降? 
  孙:对的。不仅是明升暗降,而且分寸把握得非常好。你想,我做战俘本来就不可避免,但是,在二郎神马上要得胜的时候,我军突然遭到老君的金刚型导弹袭击,这是为什么? 
  问:为了占功? 
  孙:不错。二郎神要是在第一次花果山战争中独揽战功,玉帝就有理由把他提拔为帝国军总司令,那么,李天王就不能做内应了。 
  问:等等,孙先生,您的意思是,老君老皇爷也是这个阴谋的一部分?但是,老君是帝国太上皇,他没有理由这么干吧? 
  孙:太上皇?哼哼。老君很早以前就被架空了。玉帝和他又没血缘关系,香火财政收入老君根本就分不到多少。反而是帝国崩溃以后,根据释道分治协议,老君可以独得道家香火,玉帝小朝廷的开支必须从三清衙门领取。你想,这里面多少利益在里面啊? 
  问:您的意思是,老君复辟是通过两次花果山战争进行的? 
  孙:也不尽然。那个时候佛教东传,西天的势力扩张的很快,所以版图需要重新规划。我认为,即使老君不参与这个事件,他也可以分一杯羹,至少,不会比以前差。 
  问:但是现在老君还是道教联盟主席… 
  孙:是的。通过花果山战争,老君事实上是在对西天展示实力。据我后来了解,那时,西天原来派遣的是观音姐姐的净瓶导弹部队,但是,你知道的,一方面观音姐姐和我的关系……还有一方面,就是老君坚持使用他的金刚型导弹部队。 
  问:对了,孙先生,关于您的私生活,我们的观众也很有兴趣。您可不可以透露一下,您和观音女士的近况? 
  孙:(凝视远方)观音姐姐也是受害者… 
  问:对不起?您是说您的突然流亡给观音女士带来了政治压力? 
  孙:你能不能在正式发表时删除这一段? 
  问:可以的。我会在定稿前发给您,您可以把不适合的内容去掉。 
  孙:那就好(如释重负状)。你知道,观音姐姐在西天势力正式开始瓜分东胜神州区之前,就已经在东胜神州的人界和仙界有影响力、有独立的香火收入了。我那个时候就劝她,不如独立,她不肯……唉。你看,后来如来果然把她架空了,还取消了她的独立香火权,连吐蕃的香火收入也没收了,把她软禁在普陀山……你肯定你会把我上面说的删掉? 
  问:孙先生您不用担心,我们做新闻有职业道德的。 
  孙:好的……我们刚才说到哪里了? 
  问:您说老君通过两次花果山战争夺取了主导地位。 
  孙:对的。实际上,我认为,两次花果山战争本来就是老君的策划! 
  问:您这样说是不是有点危言耸听了? 
  孙:怎么会呢?绝对没有的。记者先生,你知不知道花果山战争期间玉帝军队和反抗军的联络官是谁? 
  问:太白金星啊。 
  孙:正是!你想想,太白金星啊,启明,太白主杀伐,这是小孩子都知道的,为什么在花果山战争期间他一直主张和谈呢?记者先生,你再去翻一下玉帝朝廷的会议记录,关于和谈以后我本人和反抗组织的待遇问题,也是一直由太白金星在操弄这个议题的。就是因为这个待遇问题,我们反抗组织遭到了不公正的对待,所以才会有两次花果山战争啊! 
  问:这难道是因为太白金星是属于老君的人? 
  孙:不错,他就是三清系统的人!事实上,玉帝下野之前,政教分离原则已经在玉帝朝廷里不能维持了,到处都有三清系统的人,以及西天派遣到玉帝朝廷的内应。比如说,玉帝的内卫部队,四大天王,就是如来的老同乡。在西天攫取了东胜的大半香火之后,他们马上摇身一变,变成了西天国防军的将军! 
  问:孙先生,那样的话,您如何解释花果山战争反抗组织的正义性?据我们DNN的历史学顾问介绍,花果山战争完全是由于玉帝朝廷垄断了帝国的仙界晋升权,使得广大凡间修行者无法进入仙界。即使进入了仙界,也不能得到重用,所以才使豪强并起…… 
  孙:(打断)记者先生,你这个说法只有一部分对。连我们水帘洞共和国军在内,7支部队,再加上72个洞主的独立游击队,你认为怎么可能在玉帝帝国军的眼皮底下集结? 
  问:难道不是因为孙先生您高超的个人魅力和卓越的指挥能力? 
  孙:哈哈,记者先生,您就不要给我戴高帽子了。7支部队,其实里面两支最有战力的分别都是老君和如来的直辖部队。你看,大鹏王,就是如来的亲舅舅,狮驮王,是三清系统内卫部队,归太乙天尊管辖。再说,花果山就那么大地方,我自己的军队还要艰苦奋斗、自给自足,一下子来那么多兵马,给养如何保证?还不是靠外部势力?名义上,各个大教团自愿供给给养,但是你能保证这背后没有under table 的交易?你想想战后传教垄断权是怎么分配的,不就明白了吗?我当时虽然大概知道背后的推手,但是那个时候年少啊,too simple, too naive啊……所以说,之所以反抗组织可以迅速扯起大旗,完全是因为老君和如来的大力支持。 
  问:孙先生,那样说来,您打的实际上是一场代理战争?那您能不能透露一下,为什么如来,按照您的说法就是在利用花果山战争迫使玉帝接受西天宗主权和驻军之后,马上就把您投入监狱呢? 
  孙:这里面有两个问题。第一个,他要掩人耳目,所以如来最好巴不得把我马上灭口,可惜他做不到,这是因为,玉帝虽然向西天屈服了,但是如来不可能马上派部队进驻。这样一来,要灭口,必定要先把我送到军事法庭——我名义上还仍旧是齐天大圣,至少在法理上和玉帝是帝国的共主么!但是,一送到军事法庭,资金、人员这些东西,不久统统曝光了?所以,如来的策略就是无限期关押在五行山监狱,这个战后由如来一手建立的监狱其实就相当于关塔那摩,虽然位于东胜地区,但是玉帝根本管不到。第二个么,问题还是出在法理上,因为我战前是帝国的军事将领,那么,花果山战争就是一场内战,如来的干涉就变成了干涉他国内政,这样不就和他自己宣称的不干涉主义矛盾了么? 
  问:没错,孙先生,我国的仙际法专家就是这么说的…… 
  孙:所以说啊,如来只能以关押恐怖分子的名义,把我无限期扣留。这样子,他才能名正言顺的以反恐名义来瓜分帝国在东胜的香火!就连我后来的获释,也与此有关…… 
  问:是的,关于您后来的获释,这也是我们的观众急于了解的。我们知道,第二次花果山战争结束的时候,西天已经玉帝帝国变成附庸了,但是,为什么时隔500年,如来会同意把做政治犯的孙先生您从五行监狱释放出来呢?这是不是说明您刚才的说法有误呢? 
  孙:这个么,当时我也很奇怪的,直到我再次遇见东海龙王,才弄清楚其中关节。 
  问:您是说,您传记里写过的,您去东海看三进履画的那次? 
  孙:没错,你记得很仔细么。 
  问:孙先生您是说这里面还有别的含义? 
  孙:嘿嘿。记者先生,你知道唐僧取经故事发生在什么时候么? 
  问:孙先生,这个问题小孩子都知道啊。唐僧取经当然发生在唐朝啊。 
  孙:好了,记者先生,你不会忘记了,中土的唐朝,印度的佛教势力开始衰退,西天的财政收入开始变得依赖于东胜区。 
  问:孙先生,我明白了。东海龙王的意思是,西天和老君势力的争夺,已经类似于中国历史上的楚汉之争了,所以需要您这样像张良一样的人物? 
  孙:说我是张良是抬举我了。记者先生,你要知道,在唐朝的时候,老君曾经试图在法理上确立三清系统的统治权,使用了托梦这种下三滥手段,迫使人界统治者提升三清系统的主体地位。但是,结果你也知道的,一方面从合法性角度讲,玉帝帝国还是东胜天庭的法理正统,这是绕不开的,另一方面,三清系统以前都是干政工工作出身的,所以,不仅地方大员不买账,天界的实力人物也不买账!但是,这个时候,西天的形势也很差,特别是印度次大陆香火收入锐减,中土的部分地盘又遭到老君蚕食。 
  问:所以您的作用就体现出来了? 
  孙:是的。如来就是在这个条件下发现了我的利用价值。因为我是齐天大圣么,是玉帝帝国的两寡头之一,在法理上,只要以我的名义,那么对玉帝帝国的任何行动都是合法的。 
  问:就像小活佛? 
  孙:没错,记者先生,你理解得很对。东胜人界有一句俗话,叫做‘挟天子以令诸侯’,就是这个意思。如来要把统治重心东移,就要借助玉帝帝国残留的统治权威,但是,玉帝本人和他的朝廷,对如来本来就敬而远之,没有办法,他才能来找我。 
  问:孙先生,那么,您是说,您和如来之间达成了某种……协议? 
  孙:没错,记者先生,你放心好了,我不忌讳投降这个词的。你要理解,一个被关押了五百年的政治犯,想要自由的心情是多么的迫切啊。你想啊,我的师傅是伟大的犬儒主义仙人,菩提祖师,我为了自由,连师傅都可以重新认一个丝毫不值得敬重、出身可疑的陈姓和尚,连这样苛刻的条件都接受了,还有什么不可以接受呢? 
  问:孙先生,您能这样坦率,实在是太好了。那么,您能谈一下您在之后的取经过程中的实际作用吗?因为据您的说法,似乎这里面的疑问很大。 
  孙:是的。所谓的取经,其实就是剿灭地方豪强、震慑天界巨头和老君,从而达到如来一统东胜目的的幌子。说取经,连三岁小孩都骗不过,就这几部书,我一天之内,就能来回搬个它几十套了。记者先生,你再看看取经的路线,都是绕弯的,搞什么啊,又不是长征打日本鬼子!明显就是要故意经过这些人的地盘,再找个借口打击他们么! 
  问:但是,孙先生,您也知道,最后西天并没有能够统一东胜,相反,是三清系统和玉帝帝国的其他重臣实行了重组,代替了玉帝帝国…… 
  孙:是的,我认为,如来在这一事件上非常失败,就是捞过界了,引起了仙界的反弹。如来以我和取经的名义,疯狂实行打砸抢,对道家系统仙人的代理人们实行迫害,最后道家仙人反而认识到了软弱的玉帝朝廷无法依靠,团结起来和三清系统实现了香火共享。最终,反过来迫使如来撤回了他的人界代理人。 
  问:您说的是狮驮国事件? 
  孙:对。狮驮国事件是一个分水岭。首先,狮驮国是西天在人界的前哨据点,他在编制上直接隶属于西天,当年花果山战争的大鹏王军,就是来自于这里。如来被迫取消狮驮国,这是东胜群仙直接施压的结果,也标志着如来的扩张到此为止。其次,狮驮国事件也是统治东胜仙界长达万年的玉帝帝国最终灭亡、被道教联盟取代的标志。 
  问:孙先生,那您对玉帝帝国是否抱有留恋呢?毕竟,您是见证过玉帝帝国最后辉煌,并且,您的个人遭遇与玉帝帝国的最后一段日子有着密切的关系。 
  孙:往事不堪回首(停住)。玉帝帝国的灭亡,是墙倒众人推,也是释道两大宗教势力对仙俗政治的干涉之结果,我孙某在很多时候只是看客,或者棋子,作用并非如你们想象的那么大。记者先生,月如霜、最凄凉,其实我最为痛心的,是观音姐姐,她为了帮我主持正义,多少年冷落窗前啊…… 
  问:最后一个问题。孙先生,您对您的传记《西游记》一书如何评价?您知道的,由于西天采取信息封锁,对网络使用金刚盾防火墙,所以我们大多数人对您的了解都来自于这本书。 
  孙:我觉得吧,我的传记作者采取的是春秋笔法,就像你说的,因为西天的信息封锁,还有出版管制,不这样搞这本书根本就通不过西天佛治局、仙闻署的出版审核么。 
  问:谢谢孙先生。谢谢你接受我们DNN的采访。 
  孙:不用谢,向大众揭露真相是我的义务。 
------------------------ 转载结束 ------------------------
(完)

2012年12月15日星期六

另一种“荒野求生”

另一种的“荒野求生”
  源自知乎的一个话题(问题)。


  • 话题:

五年编程经验,跳槽到新公司后,月薪 6000 元,但工作内容就是写注释,写了一年注释,这种情况在编程行业普遍吗?

我有五年的编程经验,其中一年是实习,其余四年在一家小公司做外包。由于我不习惯公司整天把我外派到别的公司做技术,于是我就跳了槽。
现在这家公司是一家所谓的大企业,已上市,技术团队几百人,公司名字就不说了。月薪6000元,我上一份工作月薪是4500元。
但工作内容就是给代码写中文注释,整天就是跟//打交道,写了一年注释。
我另一个同事更离谱,整天看代码然后用txt文档记录可能出错的地方,别说开发,他一年多都没配过ide。就算他找出错给总监,总监也不理,测试那组几十个人,也轮不到他,他找到的人家早就找到了。
现在这份工作总的来说,能看到别人写的非常牛X的代码,很多非常牛X的算法,但没有办法参与到开发过程中去,该不该跳槽?首先我承认我技术不如别人,但同样拿6000的很多人都在做开发。

  • 一楼:
从描述看,这是一家“荒野求生”型公司。这样的公司特点是,新员工被仍在一个荒岛上自生自灭,优胜劣汰之后,剩下几个“幸存者”都是技术和性格非常强悍的人。
这类公司挑战员工的有:
1. 目标感,不告诉你什么时候来救你。你必须对长期在岛上生活做充分的准备。一个明确的目标使得你不至于放弃求生的希望——我要学习什么样的技术;
2. 发现食物的能力,没有现成的吃得给你,你必须把各种野菜变成食物充饥。
3. 竞争意识, 食物少或者没有食物,大家必须靠抢夺食物为生。你必须要主动的解决项目中暴露的问题,而不能等待它 assign 给你。
这样的公司不是适合所有的人。但一旦你挺过来了, winner 的感觉会伴随你以后的工作。



  • 二楼:

我觉得你对自己的定位有问题,说白了只能说你是个合格的员工,公司叫你写注释你就只写注释?
如果你以这种思维跳槽,你到其他公司也不会有大的发展,我觉得你在这岗位上应该突破自己的职责做出些贡献。
比如现在的岗位
@梁涛说的:“要是你把所有的代码和注释画成流程图”,那公司肯定把你奉为牛人;
另外你通过看代码可以了解这个产品和系统最核心的东西,也许你可以发现缺陷,提供改进方案;也许你可以从某个方面设计出优化系统的办法;公司一定会给你更合适的岗位;

你还可以通过看代码了解代码编写者的能力和缺点,在你对每个人了解后很适合在以后提出好的意见,也很可能获得提升走上管理岗位;
......
太多了,努力吧,哥们;


(其他评论)……


  • 我的评论:
看了楼主的问题,还有楼上诸位的一些评论!我也在此说几句吧,希望可以给楼主一些好的意见!
均同意一楼和二楼的意见,小总结一下:
1, “荒野求生存”,你需要更加主动给自己想主意啊,把事情(理清代码逻辑,不单单是添加注释)做全面、精彩了!挺过来了那么你的“生存能力”必然很大提升!
2, 明确你的定位,@yaocoder就举出了几个方面颇好!
还有,一些我的感触:
a. 楼主现在的公司环境还算比较宽松啊,可以分配给你这么一闲差。既然这样,好像更有空间给自己充电啊!
b. 都五年的编程经验了,你一定可以有更好的发展的,完全不局限于此!加油。
刚好,昨晚在微博转发了这么一条:
#管理者说#无论你从事哪一行,你都不只是别人的员工——你还是自己的职业生涯的员工。——曾任英特尔公司董事长安迪·格鲁夫(Andrew S·Grove)


补充一下:
不要单单局限于当下的简单工作(任务),尽量发挥自己的主观能动性吧,适当有点危机感,营造另一种“荒野求生”吧。何况现在自己还很年轻,对自己允许苛刻一些,不枉少年!
有的人会说,“人生不必太累了,何必呢?“ 哼,苛刻不代表就累了,真的。恰恰很多人也这么说,“每当回忆过去最美好的时候,都是那些吃苦的日子。”

(完)

2012年11月25日星期日

Markdown 语法说明 (转)


原文链接:http://wowubuntu.com/markdown/index.html
如果你经常使用Github托管你的代码,那么你有必要了解、学习一下关于Markdown语法知识。Markdown语法被使用于Github项目,用来作为Project简介的标记语言,正是项目根目录的文件 README.md。或许,若你已经熟悉了Markdown语法,大可略过。转载的下文只是给那些不懂的Markdown或菜鸟准备的,刚刚几天前我还是菜鸟。好像现在不是了。其实,它很简单,不信你往下内容认真看看 :D  开始吧 ~

Markdown 语法说明 (简体中文版)

  • 概述
    • 宗旨
    • 兼容 HTML
    • 特殊字符自动转换
  • 区块元素
    • 段落和换行
    • 标题
    • 区块引用
    • 列表
    • 代码区块
    • 分隔线
  • 区段元素
    • 链接
    • 强调
    • 代码
    • 图片
  • 其它
    • 反斜杠
    • 自动链接
  • 感谢
  • Markdown 免费编辑器

概述

宗旨

Markdown 的目标是实现「易读易写」。
可读性,无论如何,都是最重要的。一份使用 Markdown 格式撰写的文件应该可以直接以纯文本发布,并且看起来不会像是由许多标签或是格式指令所构成。Markdown 语法受到一些既有 text-to-HTML 格式的影响,包括Setext、atx、Textile、reStructuredText、Grutatext 和 EtText,而最大灵感来源其实是纯文本电子邮件的格式。
总之, Markdown 的语法全由一些符号所组成,这些符号经过精挑细选,其作用一目了然。比如:在文字两旁加上星号,看起来就像*强调*。Markdown 的列表看起来,嗯,就是列表。Markdown 的区块引用看起来就真的像是引用一段文字,就像你曾在电子邮件中见过的那样。

兼容 HTML

Markdown 语法的目标是:成为一种适用于网络的书写语言。
Markdown 不是想要取代 HTML,甚至也没有要和它相近,它的语法种类很少,只对应 HTML 标记的一小部分。Markdown 的构想不是要使得 HTML 文档更容易书写。在我看来, HTML 已经很容易写了。Markdown 的理念是,能让文档更容易读、写和随意改。HTML 是一种发布的格式,Markdown 是一种书写的格式。就这样,Markdown 的格式语法只涵盖纯文本可以涵盖的范围。
不在 Markdown 涵盖范围之内的标签,都可以直接在文档里面用 HTML 撰写。不需要额外标注这是 HTML 或是 Markdown;只要直接加标签就可以了。
要制约的只有一些 HTML 区块元素――比如 <div>、<table>、<pre>、<p> 等标签,必须在前后加上空行与其它内容区隔开,还要求它们的开始标签与结尾标签不能用制表符或空格来缩进。Markdown 的生成器有足够智能,不会在 HTML 区块标签外加上不必要的 <p> 标签。
例子如下,在 Markdown 文件里加上一段 HTML 表格:
这是一个普通段落。

<table>
    <tr>
        <td>Foo</td>
    </tr>
</table>

这是另一个普通段落。
请注意,在 HTML 区块标签间的 Markdown 格式语法将不会被处理。比如,你在 HTML 区块内使用 Markdown 样式的*强调*会没有效果。
HTML 的区段(行内)标签如 <span>、<cite>、<del> 可以在 Markdown 的段落、列表或是标题里随意使用。依照个人习惯,甚至可以不用 Markdown 格式,而直接采用 HTML 标签来格式化。举例说明:如果比较喜欢 HTML 的 <a> 或 <img> 标签,可以直接使用这些标签,而不用 Markdown 提供的链接或是图像标签语法。
和处在 HTML 区块标签间不同,Markdown 语法在 HTML 区段标签间是有效的。

特殊字符自动转换

在 HTML 文件中,有两个字符需要特殊处理: < 和 & 。 < 符号用于起始标签,& 符号则用于标记 HTML 实体,如果你只是想要显示这些字符的原型,你必须要使用实体的形式,像是 &lt; 和 &amp;。
& 字符尤其让网络文档编写者受折磨,如果你要打「AT&T」 ,你必须要写成「AT&amp;T」。而网址中的 & 字符也要转换。比如你要链接到:
http://images.google.com/images?num=30&q=larry+bird
你必须要把网址转换写为:
http://images.google.com/images?num=30&amp;q=larry+bird
才能放到链接标签的 href 属性里。不用说也知道这很容易忽略,这也可能是 HTML 标准检验所检查到的错误中,数量最多的。
Markdown 让你可以自然地书写字符,需要转换的由它来处理好了。如果你使用的 & 字符是 HTML 字符实体的一部分,它会保留原状,否则它会被转换成 &amp;。
所以你如果要在文档中插入一个版权符号 ©,你可以这样写:
&copy;
Markdown 会保留它不动。而若你写:
AT&T
Markdown 就会将它转为:
AT&amp;T
类似的状况也会发生在 < 符号上,因为 Markdown 允许 兼容 HTML ,如果你是把 < 符号作为 HTML 标签的定界符使用,那 Markdown 也不会对它做任何转换,但是如果你写:
4 < 5
Markdown 将会把它转换为:
4 &lt; 5
不过需要注意的是,code 范围内,不论是行内还是区块, < 和 & 两个符号都一定会被转换成 HTML 实体,这项特性让你可以很容易地用 Markdown 写 HTML code (和 HTML 相对而言, HTML 语法中,你要把所有的 < 和 & 都转换为 HTML 实体,才能在 HTML 文件里面写出 HTML code。)

区块元素

段落和换行

一个 Markdown 段落是由一个或多个连续的文本行组成,它的前后要有一个以上的空行(空行的定义是显示上看起来像是空的,便会被视为空行。比方说,若某一行只包含空格和制表符,则该行也会被视为空行)。普通段落不该用空格或制表符来缩进。
「由一个或多个连续的文本行组成」这句话其实暗示了 Markdown 允许段落内的强迫换行(插入换行符),这个特性和其他大部分的 text-to-HTML 格式不一样(包括 Movable Type 的「Convert Line Breaks」选项),其它的格式会把每个换行符都转成 <br /> 标签。
如果你确实想要依赖 Markdown 来插入 <br /> 标签的话,在插入处先按入两个以上的空格然后回车。
的确,需要多费点事(多加空格)来产生 <br /> ,但是简单地「每个换行都转换为 <br />」的方法在 Markdown 中并不适合, Markdown 中 email 式的 区块引用 和多段落的 列表 在使用换行来排版的时候,不但更好用,还更方便阅读。
Markdown 支持两种标题的语法,类 Setext 和类 atx 形式。
类 Setext 形式是用底线的形式,利用 = (最高阶标题)和 - (第二阶标题),例如:
This is an H1
=============

This is an H2
-------------
任何数量的 = 和 - 都可以有效果。
类 Atx 形式则是在行首插入 1 到 6 个 # ,对应到标题 1 到 6 阶,例如:
# 这是 H1

## 这是 H2

###### 这是 H6
你可以选择性地「闭合」类 atx 样式的标题,这纯粹只是美观用的,若是觉得这样看起来比较舒适,你就可以在行尾加上 #,而行尾的# 数量也不用和开头一样(行首的井字符数量决定标题的阶数):
# 这是 H1 #

## 这是 H2 ##

### 这是 H3 ######

区块引用 Blockquotes

Markdown 标记区块引用是使用类似 email 中用 > 的引用方式。如果你还熟悉在 email 信件中的引言部分,你就知道怎么在 Markdown 文件中建立一个区块引用,那会看起来像是你自己先断好行,然后在每行的最前面加上 > :
> This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
> consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
> Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
> 
> Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
> id sem consectetuer libero luctus adipiscing.
Markdown 也允许你偷懒只在整个段落的第一行最前面加上 > :
> This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.

> Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
id sem consectetuer libero luctus adipiscing.
区块引用可以嵌套(例如:引用内的引用),只要根据层次加上不同数量的 > :
> This is the first level of quoting.
>
> > This is nested blockquote.
>
> Back to the first level.
引用的区块内也可以使用其他的 Markdown 语法,包括标题、列表、代码区块等:
> ## 这是一个标题。
> 
> 1.   这是第一行列表项。
> 2.   这是第二行列表项。
> 
> 给出一些例子代码:
> 
>     return shell_exec("echo $input | $markdown_script");
任何像样的文本编辑器都能轻松地建立 email 型的引用。例如在 BBEdit 中,你可以选取文字后然后从选单中选择增加引用阶层。

列表

Markdown 支持有序列表和无序列表。
无序列表使用星号、加号或是减号作为列表标记:
*   Red
*   Green
*   Blue
等同于:
+   Red
+   Green
+   Blue
也等同于:
-   Red
-   Green
-   Blue
有序列表则使用数字接着一个英文句点:
1.  Bird
2.  McHale
3.  Parish
很重要的一点是,你在列表标记上使用的数字并不会影响输出的 HTML 结果,上面的列表所产生的 HTML 标记为:
<ol>
<li>Bird</li>
<li>McHale</li>
<li>Parish</li>
</ol>
如果你的列表标记写成:
1.  Bird
1.  McHale
1.  Parish
或甚至是:
3. Bird
1. McHale
8. Parish
你都会得到完全相同的 HTML 输出。重点在于,你可以让 Markdown 文件的列表数字和输出的结果相同,或是你懒一点,你可以完全不用在意数字的正确性。
如果你使用懒惰的写法,建议第一个项目最好还是从 1. 开始,因为 Markdown 未来可能会支持有序列表的 start 属性。
列表项目标记通常是放在最左边,但是其实也可以缩进,最多 3 个空格,项目标记后面则一定要接着至少一个空格或制表符。
要让列表看起来更漂亮,你可以把内容用固定的缩进整理好:
*   Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
    Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,
    viverra nec, fringilla in, laoreet vitae, risus.
*   Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
    Suspendisse id sem consectetuer libero luctus adipiscing.
但是如果你懒,那也行:
*   Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Aliquam hendrerit mi posuere lectus. Vestibulum enim wisi,
viverra nec, fringilla in, laoreet vitae, risus.
*   Donec sit amet nisl. Aliquam semper ipsum sit amet velit.
Suspendisse id sem consectetuer libero luctus adipiscing.
如果列表项目间用空行分开,在输出 HTML 时 Markdown 就会将项目内容用 <p> 标签包起来,举例来说:
*   Bird
*   Magic
会被转换为:
<ul>
<li>Bird</li>
<li>Magic</li>
</ul>
但是这个:
*   Bird

*   Magic
会被转换为:
<ul>
<li><p>Bird</p></li>
<li><p>Magic</p></li>
</ul>
列表项目可以包含多个段落,每个项目下的段落都必须缩进 4 个空格或是 1 个制表符:
1.  This is a list item with two paragraphs. Lorem ipsum dolor
    sit amet, consectetuer adipiscing elit. Aliquam hendrerit
    mi posuere lectus.

    Vestibulum enim wisi, viverra nec, fringilla in, laoreet
    vitae, risus. Donec sit amet nisl. Aliquam semper ipsum
    sit amet velit.

2.  Suspendisse id sem consectetuer libero luctus adipiscing.
如果你每行都有缩进,看起来会看好很多,当然,再次地,如果你很懒惰,Markdown 也允许:
*   This is a list item with two paragraphs.

    This is the second paragraph in the list item. You're
only required to indent the first line. Lorem ipsum dolor
sit amet, consectetuer adipiscing elit.

*   Another item in the same list.
如果要在列表项目内放进引用,那 > 就需要缩进:
*   A list item with a blockquote:

    > This is a blockquote
    > inside a list item.
如果要放代码区块的话,该区块就需要缩进两次,也就是 8 个空格或是 2 个制表符:
*   一列表项包含一个列表区块:

        <代码写在这>
当然,项目列表很可能会不小心产生,像是下面这样的写法:
1986. What a great season.
换句话说,也就是在行首出现数字-句点-空白,要避免这样的状况,你可以在句点前面加上反斜杠。
1986\. What a great season.

代码区块

和程序相关的写作或是标签语言原始码通常会有已经排版好的代码区块,通常这些区块我们并不希望它以一般段落文件的方式去排版,而是照原来的样子显示,Markdown 会用 <pre> 和 <code> 标签来把代码区块包起来。
要在 Markdown 中建立代码区块很简单,只要简单地缩进 4 个空格或是 1 个制表符就可以,例如,下面的输入:
这是一个普通段落:

    这是一个代码区块。
Markdown 会转换成:
<p>这是一个普通段落:</p>

<pre><code>这是一个代码区块。
</code></pre>
这个每行一阶的缩进(4 个空格或是 1 个制表符),都会被移除,例如:
Here is an example of AppleScript:

    tell application "Foo"
        beep
    end tell
会被转换为:
<p>Here is an example of AppleScript:</p>

<pre><code>tell application "Foo"
    beep
end tell
</code></pre>
一个代码区块会一直持续到没有缩进的那一行(或是文件结尾)。
在代码区块里面, & 、 < 和 > 会自动转成 HTML 实体,这样的方式让你非常容易使用 Markdown 插入范例用的 HTML 原始码,只需要复制贴上,再加上缩进就可以了,剩下的 Markdown 都会帮你处理,例如:
    <div class="footer">
        &copy; 2004 Foo Corporation
    </div>
会被转换为:
<pre><code>&lt;div class="footer"&gt;
    &amp;copy; 2004 Foo Corporation
&lt;/div&gt;
</code></pre>
代码区块中,一般的 Markdown 语法不会被转换,像是星号便只是星号,这表示你可以很容易地以 Markdown 语法撰写 Markdown 语法相关的文件。

分隔线

你可以在一行中用三个以上的星号、减号、底线来建立一个分隔线,行内不能有其他东西。你也可以在星号或是减号中间插入空格。下面每种写法都可以建立分隔线:
* * *

***

*****

- - -

---------------------------------------

区段元素

Markdown 支持两种形式的链接语法: 行内式和参考式两种形式。
不管是哪一种,链接文字都是用 [方括号] 来标记。
要建立一个行内式的链接,只要在方块括号后面紧接着圆括号并插入网址链接即可,如果你还想要加上链接的 title 文字,只要在网址后面,用双引号把 title 文字包起来即可,例如:
This is [an example](http://example.com/ "Title") inline link.

[This link](http://example.net/) has no title attribute.
会产生:
<p>This is <a href="http://example.com/" title="Title">
an example</a> inline link.</p>

<p><a href="http://example.net/">This link</a> has no
title attribute.</p>
如果你是要链接到同样主机的资源,你可以使用相对路径:
See my [About](/about/) page for details.
参考式的链接是在链接文字的括号后面再接上另一个方括号,而在第二个方括号里面要填入用以辨识链接的标记:
This is [an example][id] reference-style link.
你也可以选择性地在两个方括号中间加上一个空格:
This is [an example] [id] reference-style link.
接着,在文件的任意处,你可以把这个标记的链接内容定义出来:
[id]: http://example.com/  "Optional Title Here"
链接内容定义的形式为:
  • 方括号(前面可以选择性地加上至多三个空格来缩进),里面输入链接文字
  • 接着一个冒号
  • 接着一个以上的空格或制表符
  • 接着链接的网址
  • 选择性地接着 title 内容,可以用单引号、双引号或是括弧包着
下面这三种链接的定义都是相同:
[foo]: http://example.com/  "Optional Title Here"
[foo]: http://example.com/  'Optional Title Here'
[foo]: http://example.com/  (Optional Title Here)
请注意:有一个已知的问题是 Markdown.pl 1.0.1 会忽略单引号包起来的链接 title。
链接网址也可以用方括号包起来:
[id]: <http://example.com/>  "Optional Title Here"
你也可以把 title 属性放到下一行,也可以加一些缩进,若网址太长的话,这样会比较好看:
[id]: http://example.com/longish/path/to/resource/here
    "Optional Title Here"
网址定义只有在产生链接的时候用到,并不会直接出现在文件之中。
链接辨别标签可以有字母、数字、空白和标点符号,但是并不区分大小写,因此下面两个链接是一样的:
[link text][a]
[link text][A]
隐式链接标记功能让你可以省略指定链接标记,这种情形下,链接标记会视为等同于链接文字,要用隐式链接标记只要在链接文字后面加上一个空的方括号,如果你要让 "Google" 链接到 google.com,你可以简化成:
[Google][]
然后定义链接内容:
[Google]: http://google.com/
由于链接文字可能包含空白,所以这种简化型的标记内也许包含多个单词:
Visit [Daring Fireball][] for more information.
然后接着定义链接:
[Daring Fireball]: http://daringfireball.net/
链接的定义可以放在文件中的任何一个地方,我比较偏好直接放在链接出现段落的后面,你也可以把它放在文件最后面,就像是注解一样。
下面是一个参考式链接的范例:
I get 10 times more traffic from [Google] [1] than from
[Yahoo] [2] or [MSN] [3].

  [1]: http://google.com/        "Google"
  [2]: http://search.yahoo.com/  "Yahoo Search"
  [3]: http://search.msn.com/    "MSN Search"
如果改成用链接名称的方式写:
I get 10 times more traffic from [Google][] than from
[Yahoo][] or [MSN][].

  [google]: http://google.com/        "Google"
  [yahoo]:  http://search.yahoo.com/  "Yahoo Search"
  [msn]:    http://search.msn.com/    "MSN Search"
上面两种写法都会产生下面的 HTML。
<p>I get 10 times more traffic from <a href="http://google.com/"
title="Google">Google</a> than from
<a href="http://search.yahoo.com/" title="Yahoo Search">Yahoo</a>
or <a href="http://search.msn.com/" title="MSN Search">MSN</a>.</p>
下面是用行内式写的同样一段内容的 Markdown 文件,提供作为比较之用:
I get 10 times more traffic from [Google](http://google.com/ "Google")
than from [Yahoo](http://search.yahoo.com/ "Yahoo Search") or
[MSN](http://search.msn.com/ "MSN Search").
参考式的链接其实重点不在于它比较好写,而是它比较好读,比较一下上面的范例,使用参考式的文章本身只有 81 个字符,但是用行内形式的却会增加到 176 个字元,如果是用纯 HTML 格式来写,会有 234 个字元,在 HTML 格式中,标签比文本还要多。
使用 Markdown 的参考式链接,可以让文件更像是浏览器最后产生的结果,让你可以把一些标记相关的元数据移到段落文字之外,你就可以增加链接而不让文章的阅读感觉被打断。

强调

Markdown 使用星号(*)和底线(_)作为标记强调字词的符号,被 * 或 _ 包围的字词会被转成用 <em> 标签包围,用两个 * 或_ 包起来的话,则会被转成 <strong>,例如:
*single asterisks*

_single underscores_

**double asterisks**

__double underscores__
会转成:
<em>single asterisks</em>

<em>single underscores</em>

<strong>double asterisks</strong>

<strong>double underscores</strong>
你可以随便用你喜欢的样式,唯一的限制是,你用什么符号开启标签,就要用什么符号结束。
强调也可以直接插在文字中间:
un*frigging*believable
但是如果你的 * 和 _ 两边都有空白的话,它们就只会被当成普通的符号。
如果要在文字前后直接插入普通的星号或底线,你可以用反斜线:
\*this text is surrounded by literal asterisks\*

代码

如果要标记一小段行内代码,你可以用反引号把它包起来(`),例如:
Use the `printf()` function.
会产生:
<p>Use the <code>printf()</code> function.</p>
如果要在代码区段内插入反引号,你可以用多个反引号来开启和结束代码区段:
``There is a literal backtick (`) here.``
这段语法会产生:
<p><code>There is a literal backtick (`) here.</code></p>
代码区段的起始和结束端都可以放入一个空白,起始端后面一个,结束端前面一个,这样你就可以在区段的一开始就插入反引号:
A single backtick in a code span: `` ` ``

A backtick-delimited string in a code span: `` `foo` ``
会产生:
<p>A single backtick in a code span: <code>`</code></p>

<p>A backtick-delimited string in a code span: <code>`foo`</code></p>
在代码区段内,& 和方括号都会被自动地转成 HTML 实体,这使得插入 HTML 原始码变得很容易,Markdown 会把下面这段:
Please don't use any `<blink>` tags.
转为:
<p>Please don't use any <code>&lt;blink&gt;</code> tags.</p>
你也可以这样写:
`&#8212;` is the decimal-encoded equivalent of `&mdash;`.
以产生:
<p><code>&amp;#8212;</code> is the decimal-encoded
equivalent of <code>&amp;mdash;</code>.</p>

图片

很明显地,要在纯文字应用中设计一个「自然」的语法来插入图片是有一定难度的。
Markdown 使用一种和链接很相似的语法来标记图片,同样也允许两种样式: 行内式和参考式。
行内式的图片语法看起来像是:
![Alt text](/path/to/img.jpg)

![Alt text](/path/to/img.jpg "Optional title")
详细叙述如下:
  • 一个惊叹号 !
  • 接着一个方括号,里面放上图片的替代文字
  • 接着一个普通括号,里面放上图片的网址,最后还可以用引号包住并加上 选择性的 'title' 文字。
参考式的图片语法则长得像这样:
![Alt text][id]
「id」是图片参考的名称,图片参考的定义方式则和连结参考一样:
[id]: url/to/image  "Optional title attribute"
到目前为止, Markdown 还没有办法指定图片的宽高,如果你需要的话,你可以使用普通的 <img> 标签。

其它

Markdown 支持以比较简短的自动链接形式来处理网址和电子邮件信箱,只要是用方括号包起来, Markdown 就会自动把它转成链接。一般网址的链接文字就和链接地址一样,例如:
<http://example.com/>
Markdown 会转为:
<a href="http://example.com/">http://example.com/</a>
邮址的自动链接也很类似,只是 Markdown 会先做一个编码转换的过程,把文字字符转成 16 进位码的 HTML 实体,这样的格式可以糊弄一些不好的邮址收集机器人,例如:
<address@example.com>
Markdown 会转成:
<a href="&#x6D;&#x61;i&#x6C;&#x74;&#x6F;:&#x61;&#x64;&#x64;&#x72;&#x65;
&#115;&#115;&#64;&#101;&#120;&#x61;&#109;&#x70;&#x6C;e&#x2E;&#99;&#111;
&#109;">&#x61;&#x64;&#x64;&#x72;&#x65;&#115;&#115;&#64;&#101;&#120;&#x61;
&#109;&#x70;&#x6C;e&#x2E;&#99;&#111;&#109;</a>
在浏览器里面,这段字串(其实是 <a href="mailto:address@example.com">address@example.com</a>)会变成一个可以点击的「address@example.com」链接。
(这种作法虽然可以糊弄不少的机器人,但并不能全部挡下来,不过总比什么都不做好些。不管怎样,公开你的信箱终究会引来广告信件的。)

反斜杠

Markdown 可以利用反斜杠来插入一些在语法中有其它意义的符号,例如:如果你想要用星号加在文字旁边的方式来做出强调效果(但不用 <em> 标签),你可以在星号的前面加上反斜杠:
\*literal asterisks\*
Markdown 支持以下这些符号前面加上反斜杠来帮助插入普通的符号:
\   反斜线
`   反引号
*   星号
_   底线
{}  花括号
[]  方括号
()  括弧
#   井字号
+   加号
-   减号
.   英文句点
!   惊叹号

感谢

感谢 leafy7382 协助翻译,hlb、Randylien 帮忙润稿,ethantw 的汉字标准格式・CSS Reset, WM 回报文字错误。
感谢 fenprace,addv。

Markdown 免费编辑器

Windows 平台
  • MarkdownPad
  • MarkPad
Linux 平台
  • ReText
Mac 平台
  • Mou
在线编辑器
  • Markable.in
  • Dillinger.io
浏览器插件
  • MaDe (Chrome)
高级应用
  • Sublime Text 2 + MarkdownEditing / 教程
*** 如有更好的 Markdown 免费编辑器推荐,请到这里反馈,谢谢!
(完)