MarkDown 学习记录
简介
Markdown 的目标是 易读易写 。
Markdown 语法收到一些既有 text-to-HTML 格式影响,包括 Setext 、 atx 、Textile 、 reStructuredText 、 Grutatext and EtText, 而最大的灵感来源于纯文本电子邮件格式。
Markdown 的语法目标是: 成为一种适用于网络的书写语言 。
元素
段落和换行
一个 Markdown 段落是由一个或多个连续的文本行组成,它的前后要有一个以上的空行(空行的定义是显示上看起来像是空的,便会被视为空行。比方说,若某一行只包含空格和制表符,则该行也会被视为空行)。 普通段落不该用空格或制表符来缩进。
标题
Markdown 支持两种标题的语法,类Setext 和 类atx。
类 Settext 形式是用底线的形式,利用 =(最高阶标题) 和 -(第二阶标题)。任意数量都可以。
This is H1
===========
This is H2
---------------
类Atx 形式则是在行首插入 1 ~ 6 个 #
, 对应到标题是 1 到 6 阶。
# This is H1
## This is H2
### This is H3
可以选择 闭合类Atx 样式标题,这纯粹只是美观用的。在行尾奖赏#
,数量随意,不一定要和行首的一样。
## 标题 ####
### 标题 ###
区块引用
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 也允许你偷懒只在整个段落的第一行最前面加上 > 。
区块引用可以嵌套.
引用的区块内也可以使用其他的 Markdown 语法,包括标题、列表、代码区块等:
列表
Markdown 支持有序列表和无序列表。
无序列表使用星号、加号或是减号作为列表标记:
* red
* green
* blue
+ red
+ green
+ blue
有序列表则使用数字加英文的点 .
。
1. red
2. green
3. blue
表格
可以使用如此方式制作表格
name | lineName
| -- | --- |
| cell1| cell2|
| | | //此时出现的是没有内容的表格
例子
code | description |
---|---|
\n | 换行符 |
\t | 横向制表符 |
代码区块
程序相关的写作或是标签语言原始码通常会有已经排版好的代码区块,通常这些区块我们并不希望它以一般段落文件的方式去排版,而是照原来的样子显示,Markdown 会用 <pre> 和 <code> 标签来把代码区块包起来。
要在 Markdown 中建立代码区块很简单,只要简单地缩进 4 个空格或是 1 个制表符就可以。
这是一个普通段落:
这是一个代码区块。
分隔线
你可以在一行中用三个以上的星号、减号、底线来建立一个分隔线,行内不能有其他东西。你也可以在星号或是减号中间插入空格。下面每种写法都可以建立分隔线:
* * *
***
*****
- - -
---------------------------------------
链接
Markdown 支持两种形式的链接语法: 行内式和参考式两种形式。不管是哪一种,链接文字都是用 [方括号] 来标记。
要建立一个行内式的链接,只要在方块括号后面紧接着圆括号并插入网址链接即可,如果你还想要加上链接的 title 文字,只要在网址后面,用双引号把 title 文字包起来即可,例如:
This is [an example](http://example.com/ "Title") inline link.
[This link](http://example.net/) has no title attribute.
参考式的链接是在链接文字的括号后面再接上另一个方括号,而在第二个方括号里面要填入用以辨识链接的标记:
This is [an example][id] reference-style link.
This is [an example] [id] reference-style link.
接着,在文件的任意处,你可以把这个标记的链接内容定义出来:
[id]: http://example.com/ "title"
链接内容定义的形式为:
- 方括号(前面可以选择性地加上至多三个空格来缩进),里面输入链接文字
- 接着一个冒号
- 接着一个以上的空格或制表符
- 接着链接的网址
- 选择性地接着 title 内容,可以用单引号、双引号或是括弧包着
[foo]: http://example.com/ "Optional Title Here"
[foo]: http://example.com/ 'Optional Title Here'
[foo]: http://example.com/ (Optional Title Here)
强调
Markdown 使用星号(*)和底线(_)作为标记强调字词的符号,被 * 或 _ 包围的字词会被转成用 <em> 标签包围,用两个 * 或 _ 包起来的话,则会被转成 <strong>,例如:
*single asterisks*
_single underscores_
**double asterisks**
__double underscores__
代码
如果要标记一小段行内代码,你可以用反引号把它包起来(`),例如:
Use the `printf()` function.
如果要在代码区段内插入反引号,你可以用多个反引号来开启和结束代码区段:
``There is a literal backtick (`) here.``
图片
很明显地,要在纯文字应用中设计一个「自然」的语法来插入图片是有一定难度的。
Markdown 使用一种和链接很相似的语法来标记图片,同样也允许两种样式: 行内式和参考式。
行内式的图片语法看起来像是:
![Alt text](/path/to/img.jpg)
![Alt text](/path/to/img.jpg "Optional title")
详细叙述如下:
- 一个惊叹号 !
- 接着一个方括号,里面放上图片的替代文字
- 接着一个普通括号,里面放上图片的网址,最后还可以用引号包住并加上 选择性的 'title' 文字。
参考式的图片语法则长得像这样:
![Alt text][id]
[id]: url/to/image "Optional title attribute"