Markdown 语法


之剑 2016.5.3 23:41:46

<div id="category"></div>
<link rel="stylesheet" href="http://yandex.st/highlightjs/6.2/styles/googlecode.min.css">

<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<script src="http://yandex.st/highlightjs/6.2/highlight.min.js"></script>

<script>hljs.initHighlightingOnLoad();</script>
<script type="text/javascript">
$(document).ready(function(){
$("h2,h3,h4,h5,h6").each(function(i,item){
var tag = $(item).get(0).localName;
$(item).attr("id","wow"+i);
$("#category").append('<a class="new'+tag+'" href="#wow'+i+'">'+$(this).text()+'</a></br>');
$(".newh2").css("margin-left",0);
$(".newh3").css("margin-left",20);
$(".newh4").css("margin-left",40);
$(".newh5").css("margin-left",60);
$(".newh6").css("margin-left",80);
});
});
</script>

概述

Markdown宗旨

Markdown 的目标是实现「易读易写」。

可读性,无论如何,都是最重要的。一份使用 Markdown 格式撰写的文件应该可以直接以纯文本发布,并且看起来不会像是由许多标签或是格式指令所构成。Markdown 语法受到一些既有 text-to-HTML 格式的影响,包括 ​​Setext​​​、​​atx​​​、​​Textile​​​、​​reStructuredText​​​、​​Grutatext​​​ 和 ​​EtText​​,而最大灵感来源其实是纯文本电子邮件的格式。

总之, Markdown 的语法全由一些符号所组成,这些符号经过精挑细选,其作用一目了然。比如:在文字两旁加上星号,看起来就像*强调*。Markdown 的列表看起来,嗯,就是列表。Markdown 的区块引用看起来就真的像是引用一段文字,就像你曾在电子邮件中见过的那样。

Markdown自动生成目录

只要在你的文档开头贴上如下一段md文本即可(原样复制):

<div id="category"></div>
<link rel="stylesheet" href="http://yandex.st/highlightjs/6.2/styles/googlecode.min.css">

<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
<script src="http://yandex.st/highlightjs/6.2/highlight.min.js"></script>

<script>hljs.initHighlightingOnLoad();</script>
<script type="text/javascript">
$(document).ready(function(){
$("h2,h3,h4,h5,h6").each(function(i,item){
var tag = $(item).get(0).localName;
$(item).attr("id","wow"+i);
$("#category").append('<a class="new'+tag+'" href="#wow'+i+'">'+$(this).text()+'</a></br>');
$(".newh2").css("margin-left",0);
$(".newh3").css("margin-left",20);
$(".newh4").css("margin-left",40);
$(".newh5").css("margin-left",60);
$(".newh6").css("margin-left",80);
});
});
</script>

Markdown 兼容 HTML

Markdown 语法的目标是:成为一种适用于网络的书写语言。

markdown支持html大部分标签
markdown用于便捷的书写网页内容

Markdown 从来不是为了取代 HTML,两者互补性远大于替代性。而 Markdown 这么火是它解决了(不止)程序员的痛点:

  1. 自带格式化/排版信息,且规则简单友好。非程序员同学可以快速入手。
  2. 同时,规则直观且确定,不用被 office 折磨的欲仙欲死(当年毕业论文排版...)。
  3. 对比HTML:更专注于内容,标签对内容的侵入性低。
  4. 最大优点:效率!!!写md几乎就是写自动排版的纯文本,你写doc和HTML试试?

比如说,放一个图片在文档中

所谓的动态类型语言,意思就是类型的检查是在运行时做的,比如如下代码是不是合法的要到运行时才判断(注意是运行时的类型判断):

<img src="">

def sum(a, b):

return a + b

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>



这是另一个普通段落。

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

请注意,在 HTML 区块标签间的 Markdown 格式语法将不会被处理。比如,你在 HTML 区块内使用 Markdown 样式的​​*强调*​​会没有效果。

HTML 的区段(行内)标签如 ​​<span>​​​、​​<cite>​​​、​​<del>​​​ 可以在 Markdown 的段落、列表或是标题里随意使用。依照个人习惯,甚至可以不用 Markdown 格式,而直接采用 HTML 标签来格式化。举例说明:如果比较喜欢 HTML 的 ​​<a>​​​ 或 ​​<img>​​ 标签,可以直接使用这些标签,而不用 Markdown 提供的链接或是图像标签语法。

和处在 HTML 区块标签间不同,Markdown 语法在 HTML 区段标签间是有效的。

Markdown注释