markdown 文档快速排版
Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式。
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 段落是由一个或多个连续的文本行组成,它的前后要有一个以上的空行(空行的定义是显示上看起来像是空的,便会被视为空行。比方说,若某一行只包含空格和制表符,则该行也会被视为空行)。普通段落不该用空格或制表符来缩进。
「由一个或多个连续的文本行组成」这句话其实暗示了 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 阶,例如:
1 //这种语法常用 2 # 这是 H1 3 ## 这是 H2 4 .... 5 ###### 这是 H6
你可以选择性地「闭合」类 atx 样式的标题,这纯粹只是美观用的,若是觉得这样看起来比较舒适,你就可以在行尾加上 #,而行尾的 # 数量也不用和开头一样(行首的井字符数量决定标题的阶数):
1 //也可以闭合,建议不用,只是别人写的时候能看懂就行 2 # 这是 H1 # 3 ## 这是 H2 ## 5 ..... 6 ### 这是 H3 ######
引用
在我们写作的时候经常需要引用他人的文字,这个时候引用这个格式就很有必要了,在 Markdown 中,你只需要在你希望引用的文字前面加上 > 就好了,例如:
> 一盏灯, 一片昏黄; 一简书, 一杯淡茶。 守着那一份淡定, 品读属于自己的寂寞。 保持淡定, 才能欣赏到最美丽的风景! 保持淡定, 人生从此不再寂寞。
注:> 和文本之间要保留一个字符的空格。
列表
Markdown 支持有序列表和无序列表。
无序列表使用星号、加号或是减号作为列表标记:
1 * Red 2 * Green 3 * Blue
4 等同于:
5 + Red 6 + Green 7 + Blue
8 也等同于:
9 - Red 10 - Green 11 - Blue
有序列表则使用数字接着一个英文句点:
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 中,插入图片不需要其他按钮,你只需要使用 ![](图片链接地址) 这样的语法即可,例如:
![](http://ww4.sinaimg.cn/bmiddle/aa397b7fjw1dzplsgpdw5j.jpg)
注:插入图片的语法和链接的语法很像,只是前面多了一个 !。
强调
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 . 英文句点