Markdown是一种可使用普通文本编辑器编写的标记语言,经过简单的标记语法,它可使普通文本内容具备必定的格式。html
Markdown 的优势以下:
纯文本,因此兼容性极强,能够用全部文本编辑器打开。
让你专一于文字而不是排版。
格式转换方便,Markdown 的文本你能够轻松转换为 html、电子书等。
Markdown 的标记语法有极好的可读性。
文件后缀名: .md;.markdown;.mdown
宗旨: 易读易写
特色: 轻量、简单、通用
Markdown的语法简洁明了、学习容易,并且功能比纯文本更强,所以有不少人用它写博客。世界上最流行的博客平台WordPress和大型CMS如Joomla、Drupal都能很好的支持Markdown。彻底采用Markdown编辑器的博客平台有Ghost和Typecho。
用于编写说明文档,而且以“README.MD”的文件名保存在软件的目录下面。
除此以外,如今因为咱们有了RStudio这样的神级编辑器,咱们还能够快速将Markdown转化为演讲PPT、Word产品文档、LaTex论文甚至是用很是少许的代码完成最小可用原型。在数据科学领域,Markdown已经被确立为科学研究规范,极大地推动了动态可重复性研究的历史进程。
markdown
基本用法:app
段落和换行
一个 Markdown 段落是由一个或多个连续的文本行组成,它的先后要有一个以上的空行(空行的定义是显示上看起来像是空的,便会被视为空行。比方说,若某一行只包含空格和制表符,则该行也会被视为空行)。普通段落不应用空格或制表符来缩进。
「由一个或多个连续的文本行组成」这句话其实暗示了 Markdown 容许段落内的强迫换行(插入换行符),这个特性和其余大部分的 text-to-HTML 格式不同(包括 Movable Type 的「Convert Line Breaks」选项),其它的格式会把每一个换行符都转成 <br /> 标签。
若是你确实想要依赖 Markdown 来插入 <br /> 标签的话,在插入处先按入两个以上的空格而后回车。的确,须要多费点事(多加空格)来产生 <br /> 编辑器
标题
Markdown 支持两种标题的语法,类 Setext 和类 atx 形式。
类 Setext 形式是用底线的形式,利用 = (最高阶标题)和 - (第二阶标题),例如:
学习
1 This is an H1 2 ============= //这种语法不常见 3 This is an H2 4 -------------
任何数量的 = 和 - 均可以有效果。
类 Atx 形式则是在行首插入 1 到 6 个 # ,对应到标题 1 到 6 阶,例如:this
1 //这种语法经常使用 2 # 这是 H1 3 ## 这是 H2 4 .... 5 ###### 这是 H6
你能够选择性地「闭合」类 atx 样式的标题,这纯粹只是美观用的,如果以为这样看起来比较温馨,你就能够在行尾加上 #,而行尾的 # 数量也不用和开头同样(行首的井字符数量决定标题的阶数):spa
1 //也能够闭合,建议不用,只是别人写的时候能看懂就行 2 # 这是 H1 # 3 ## 这是 H2 ## 5 ..... 6 ### 这是 H3 ######
引用
在咱们写做的时候常常须要引用他人的文字,这个时候引用这个格式就颇有必要了,在 Markdown 中,你只须要在你但愿引用的文字前面加上 > 就行了,例如:
> 一盏灯, 一片昏黄; 一简书, 一杯淡茶。 守着那一份淡定, 品读属于本身的寂寞。 保持淡定, 才能欣赏到最美丽的风景! 保持淡定, 人生今后再也不寂寞。
注:> 和文本之间要保留一个字符的空格。code
列表
Markdown 支持有序列表和无序列表。
无序列表使用星号、加号或是减号做为列表标记:
htm
1 * Red 2 * Green 3 * Blue
4 等同于:
5 + Red 6 + Green 7 + Blue
8 也等同于:
9 - Red 10 - Green 11 - Blue
有序列表则使用数字接着一个英文句点:blog
1 1. Bird 2 2. McHale 3 3. Parish
很重要的一点是,你在列表标记上使用的数字并不会影响输出的 HTML 结果,上面的列表所产生的 HTML 标记为:
1 <ol> 2 <li>Bird</li> 3 <li>McHale</li> 4 <li>Parish</li> 5 </ol>
若是你的列表标记写成:
1 1. Bird 2 1. McHale 3 1. Parish 4 或甚至是: 5 3. Bird 6 1. McHale 7 8. Parish
你都会获得彻底相同的 HTML 输出。重点在于,你可让 Markdown 文件的列表数字和输出的结果相同,或是你懒一点,你能够彻底不用在乎数字的正确性。
固然,项目列表极可能会不当心产生,像是下面这样的写法:
1986. What a great season.
换句话说,也就是在行首出现数字-句点-空白,要避免这样的情况,你能够在句点前面加上反斜杠。
1986\. What a great season.
代码区块
和程序相关的写做或是标签语言原始码一般会有已经排版好的代码区块,一般这些区块咱们并不但愿它以通常段落文件的方式去排版,而是照原来的样子显示,Markdown 会用 <pre> 和 <code> 标签来把代码区块包起来。
要在 Markdown 中创建代码区块很简单,只要简单地缩进 4 个空格或是 1 个制表符就能够,例如,下面的输入:
这个每行一阶的缩进(4 个空格或是 1 个制表符),都会被移除,例如:
1 Here is an example of AppleScript: 2 tell application "Foo" 3 beep 4 end tell 5 会被转换为: 6 <p>Here is an example of AppleScript:</p> 7 <pre> 9 <code>tell application "Foo" 10 beep 11 end tell 12 </code> 14 </pre>
一个代码区块会一直持续到没有缩进的那一行(或是文件结尾)。
在代码区块里面, & 、 < 和 > 会自动转成 HTML 实体,这样的方式让你很是容易使用 Markdown 插入范例用的 HTML 原始码,只须要复制贴上,再加上缩进就能够了,剩下的 Markdown 都会帮你处理,例如:
1 <div class="footer"> 2 © 2004 Foo Corporation 3 </div> 4 会被转换为: 5 <pre><code><div class="footer"> 6 &copy; 2004 Foo Corporation 7 </div> 8 </code></pre>
代码区块中,通常的 Markdown 语法不会被转换,像是星号便只是星号,这表示你能够很容易地以 Markdown 语法撰写 Markdown 语法相关的文件。
分隔线
你能够在一行中用三个以上的星号、减号、底线来创建一个分隔线,行内不能有其余东西。你也能够在星号或是减号中间插入空格。下面每种写法均可以创建分隔线:
* * * *** ***** - - - ---------------------------------------
连接和图片
在 Markdown 中,插入连接不须要其余按钮,你只须要使用 [显示文本](连接地址) 这样的语法便可,例如:
[简书](http://www.jianshu.com)
在 Markdown 中,插入图片不须要其余按钮,你只须要使用  这样的语法便可,例如:

注:插入图片的语法和连接的语法很像,只是前面多了一个 !。
强调
Markdown 使用星号(*)和底线(_)做为标记强调字词的符号,被 * 或 _ 包围的字词会被转成用 <em> 标签包围,用两个 * 或 _ 包起来的话,则会被转成 <strong>,例如:
1 *single asterisks* 2 _single underscores_ 3 **double asterisks** 4 __double underscores__ 5 会转成: 6 <em>single asterisks</em> 7 <em>single underscores</em> 8 <strong>double asterisks</strong> 9 <strong>double underscores</strong>
你能够随便用你喜欢的样式,惟一的限制是,你用什么符号开启标签,就要用什么符号结束。
强调也能够直接插在文字中间:
un*frigging*believable
可是若是你的 * 和 _ 两边都有空白的话,它们就只会被当成普通的符号。
若是要在文字先后直接插入普通的星号或底线,你能够用反斜线:
\*this text is surrounded by literal asterisks\*
反斜杠
Markdown 能够利用反斜杠来插入一些在语法中有其它意义的符号,例如:若是你想要用星号加在文字旁边的方式来作出强调效果(但不用 <em> 标签),你能够在星号的前面加上反斜杠:
\*literal asterisks\*
Markdown 支持如下这些符号前面加上反斜杠来帮助插入普通的符号:
1 \ 反斜线 2 ` 反引号 3 * 星号 4 _ 底线 5 {} 花括号 6 [] 方括号 7 () 括弧 8 # 井字号 9 + 加号 10 - 减号 11 . 英文句点