开始使用Markdown-前端技术|TaoBaoUED

Written with StackEdit

它是什么?

首先,什么是Markdown?我们可以直接看一下Wiki......不过Wiki很长,让人没有耐心读下去。那么,简单来说,Markdown其实是一种轻量级的标记语言;或者说,它规定了一些文本的书写格式中,就像这样:

写上你的标题
==========

开始书写正文吧

当然也可以用 *列表* 的形式:
*  列表项目
*  还是列表项目

上面这一段东西就是Markdown了,--它看上去和普通的文本没什么两样,只不过文字“被一些标记格式化”了,所以看上去会感觉比较漂亮,书面化一点形容词叫做具备更高的可读性

这一段Markdown给我们的直观感受是我们能够清楚地辨识出其中的“标题”、“段落”以及“列表”,对,就和我们熟知的html一样,用来格式化内容

为何使用?

接下来的问题自然是,我们为什么要使用markdown?

我们可以把这个问题进一步拆分为三个问题:

  • 使用markdown而不是html的好处在哪?
  • 在那些场景下使用?
  • 这个东西的普及度如何?(这意味着它的前景)

接下来一一回答:

  • 前文已说,markdown和html都是一路的标记语言,用来格式化内容。而内容之所以要显得格式化,是因为这样我们更容易阅读和理。被渲染后的html是很可读的,但是html代码读起来就很糟糕,因为它夹杂着大量的 < tag >;而markdown不管是读还是写,都很舒服。

有一点想要注意的是,Markdown并不是为了取代Html,因为根本取代不了。Markdown的理念是。能让文档更容易读、写和更改。HTML是一种发布的格式,Markdown是一种书写的格式

最后一点,Markdown可以被编译为Html,比如使用在线的Pandoc

  • 我个人认为,我们在txt上写的文档或随手记之类的东西,就完全可以使用Markdown,简单而且美观。

    另外,最重要的一点,我们可以在 支持把Markdown编译为Html的地方书写Markdown ,好处是显而易见的:书写简单、展现美观。典型的场景有:github仓库的README描述文件、github中的issue、评论框等。总而言之,把它用在要写文档的地方,妥妥的。

  • 我们知道,这世界上还有很多类似于Markdown的轻量级标记语言,比如形形色色的wiki语法。所以,我们凭什么使用Markdown而不是Markup或者Wikidown呢?

    答案很简单,因为它很流行。至少著名的程序员社区如github和stackoverflow都提供了对它的大力支持。

说了这么多,结论就是,学习并且使用Markdown,必须的!何况Markdown学起来非常简单。


语法简要介绍

接下来会非常简单的介绍一下语法,而详细的语法大全可以直接去作者的官网查看。
作者对语法的介绍富有条理且细致入微。

语法介绍之后会着重说一下几个比较给力的特性,这个部分是重点

部分语法如下:

  • 使用一个或多个空行分隔内容段来生成段落。
  • 标题(h1~h6)格式为使用相应个数的“#”作前缀,比如以下的代码表示h3:
   ### this is a level-3 header###
  • 使用“>”作为段落前缀来标识引用文字段落。这其实是Email中标记引用文字的标准方式:
   > 引用的内容 
   > 这个记号直接借鉴的邮件标准
  • 使用“*”“+”“-”来表示无序列表;使用数字加“.”表示有序列表。如:
   1. I am ordered list item 1...
   2. So I should be item 2?
  • 使用4个以上 空格 或一个以上的tab来标记代码段落,它们将被 < pre >和< code >包裹,这以为着代码段内的字体回事monospace家族的,并且特殊符号不会被转义。

  • 使用*或_包裹文字产生Strong效果


给力的特性

  • 普通换行并不产生新的段落或 < br >,但是产生空格。

    其实这个和html对line-break换行的处理方式是一致的。为了使文本良好地展示在视野内,我们会选择手动地将文字拆行,但是这并不意味这这两行在逻辑上不是一个段落。如:

   我
   其实
   是一首
   诗......

   楼上
   这一段
   说得漂亮!
  • 支持setext-style的header定义:

1.定义h1:

THIS IS THE MAIN TITLE
======================

2.定义h2:

THIS IS THE SUBTITLE
--------------------

更低级别的header就无法使用这种方式定义了。我们不用管setext-style是上面意思,只需要知道这种标记方式更能凸显文章标题。

  • 在blockquote (“>”标记的段落)只内可以嵌套使用其他的标签,甚至可以再嵌套blockquote--如效果:

上古神书《商古》写道:

今有一鼎,镌以奇文;

吾乃鼎,非杯具也。

  • 支持引用式的链接格式。什么叫“引用式”的链接呢,举例来说,
    对于本文中的一段文字,相应的mkd代码是:
   首先,什么是markdown?我们可以直接看一下[WIKI] [1]
   另外,markdown可以被编译为html,比如使用在线的[Pandoc] [2]

   [1]: http://en.wikipedia.org/wiki/Markdown
   [2]: http://johnmacfarlane.net/pandoc/try 

看上去就好像是“引用文献”的格式一样,好处显而易见:

  1. 正文中不会出现url链接这种读者不关心的信息,从而不影响读者的阅读

  2. 链接地址可以当作一个变量,进行复用


  • 支持快捷链接。一般来说,我们如果要显示一段url文本,最好也希望这个url本身能够被点击。比如
    http://ued.taobao.com

    如果使用html,则要写作

  <a href="http://ued.taobao.com">http://ued.taobao.com</a>

包含了冗杂的信息且可读性很差,而在mkd中,只要写:

  <http://ued.taobao.com>  

就OK了,非常方便。

推荐阅读更多精彩内容