什么是Markdown?
Markdown是一种轻量级的标记语言,它提供一些简洁的文本标记用于排版,极大简化了样式操作,帮助我们在写作过程中专注内容生产。
输入:排版标记 + 文本内容
输出:排版标记 -> HTML元素,生成HTML文档
编辑器
- Mac: Mou
- Windows: MarkdownPad2
- Web: Cmd Markdown
基本语法
为避免混淆,本文中的Markdown标记均使用
咖啡色标出。
以下示例采用MarkdownPad2编辑,同时推荐使用
pandoc查看HTML输出。
段落与换行 (<p>,<br>)
段落作为最基本样式,用于承载文本内容。
Markdown段落由一个或多个连续的文本行组成,段落间由空白行区分。
换行:空格+空格+回车(产生<br>)。
<p>hello world</p> <p>hello<br /> world</p>
标题 (<h>)
标题用来呈现文档结构,可以通过标题来快速阅读文档内容。
Markdown采用
# 标记标题
,对应HTML,1~6个
#
分别表示1~6级标题。
其中一二级标题有两种表示方式:
- 使用 # 和 ##
- 使用不少于1个的 = 和 -
观察第四、五级标题样式,可发现标题等级大小实际由
# 前缀数目决定,因此“
## 标题”与“
## 标题
##”等价。
强调 (<em>,<strong>)
强调用于加重语气,表达文本的重要性,在HTML语义中<strong>比<em>表达的语气更为强烈。。
Markdown使用
* 与
_ 标记强调,被 * 或 _ 包围的字词被转换为 <em> 标签包围,显示为斜体效果。
用两个 * 或 _ 包围的字词被转成 <strong>,显示为粗体效果。
注意强调标记与文本间不能留有空格,可使用
\ 来转义强调标记。
<p><em>强调文本</em></p> <p><em>强调文本</em></p> <p><strong>语气更强的强调文本</strong></p> <p><strong>语气更强的强调文本</strong></p>
区块引用 (<blockquote>)
区块引用定义摘自另一个源的块引用,表示引述其他人或来源的长篇幅的内容。
Markdown使用
> 定义区块引用。
区块引用中可以包括其他样式,如标题、列表、代码区块等。
区块引用还可以进行嵌套,层次之间添加
> 区分。
<blockquote> <p>hello world</p> </blockquote> <blockquote> <h1 id="hello-world">hello world</h1> </blockquote> <blockquote> <p>hello world</p> </blockquote> <blockquote> <p>hello world</p> </blockquote> <blockquote> <p>hello >world</p> </blockquote>
分割线 (<hr>)
分割线将文章划分为不同部分,使文章排版清晰方便阅读。
Markdown使用
三个以上的
*
、
-
、
_
来建立一个分隔线,行内不能有其他东西。标记符间可以插入空格。
以下使用方法均是等价的:
代码区块 (<pre><code>)
被区块包围的内容将会保留含有的空格和换行符。而文本也会呈现为等宽字体。
Markdown使用8个空格或1个tab标记代码区块,区块至最后一个非缩进文本行结束。
在代码区块内, & 、 < 和 > 会自动转成 HTML 实体,可以方便的使用 Markdown 插入范例用的 HTML 原始码;
而一般的 Markdown 标记不会被转换,这表示你可以很容易地以 Markdown 语法撰写 Markdown 语法相关的文件。
<p>普通段落</p>
<pre><code># 代码区块
<div class="content">
代码区块保留缩进
</div>
代码区块</code></pre>
<p>普通段落</p>
列表 (<ul>,<ol>)
列表是一系列数据项的集合,用于展示一系列内容,主要分为有序列表和无序列表。
Markdown使用
+、
* 或
- 表示无序列表,使用数字+英文句点+空格(如1. )表示有序列表。
列表项内若包含多个段落,使用4个空格或1个tab区分;
若包含引用,使用使用4个空格或1个tab区分;
若包含代码块,使用8个空格或2个tab区分。
使用
\ 转义列表项。
链接 (<a>)
超链接指从一个网页指向一个目标的连接关系,它允许我们同其他网页或站点之间进行连接跳转。
Markdown链接分为两种形式: 行内式与参考式,链接文字均以
[方括号
] 包裹。
行内式链接语法规则为:
[
链接文字
](
链接地址
"
链接标题
"),其中链接标题可省略。
<p><a href="https://www.google.com.hk/" title="Google">谷歌</a> 有标题行内链接</p> <p><a href="https://www.google.com.hk/">谷歌</a> 无标题行内链接</p> <p><a href="/home/">主页</a> 相对路径链接</p>
参考式链接由链接声明与链接实体两部分组成,链接声明用于标识链接,链接实体用于定义链接地址。
链接声明语法规则为:
[
链接文字
]
[
链接id
],链接id用于关联链接实体且忽略大小写;
链接实体语法规则为:
[
链接id
]
链接地址
“
链接标题
”,链接实体可置于文档任意位置,
链接标题可省略。
链接实体有多种定义方法,以下写法均是等价的。
<p><a href="https://www.google.com.hk/" title="谷歌">Google</a> 是一个参考式链接</p> <p>普通文本</p>
在链接声明中,
链接id也可以省略,具体格式为
[
链接文字
]
[
],此时
链接id将默认等同为
链接文字。
<p><a href="https://www.google.com.hk/" title="谷歌">Google</a> 是一个隐式参考链接</p> <p>普通文本</p>
自动链接
只要将网址和电子邮件信箱用方括号包起来, Markdown 就会自动把它转成链接。
<p><a href="http://example.com" class="uri">http://example.com</a></p> <p><a href="mailto:vv314@example.com">vv314@example.com</a></p>
图片 (<img>)
图片链接用于在文档中插入图片,与文本链接类似,图片链接也分行内式与参考式。
行内式语法规则:
![
替代文字
](
链接地址
) “
链接标题
”,
链接标题可省略。
<figure> <img src="http://a3.qpic.cn/psb?/0aad0504-3ab6-4782-a579-9dd9fed62beb/ysf825YuMOF4YdgOQdomM*y2Z4Oe8Uf7ZCS7Q9qT2B4!/b/dE0AAAAAAAAA&bo=cgSAAgAAAAAFB9A!&rf=viewer_4" title="耳廓狐" alt="fox" /> <figcaption>fox</figcaption> </figure>
代码 (<code>)
Markdown是用反引号
` 来标记代码。
在代码区段内,& 和方括号都会被自动地转成 HTML 实体,可以很方便的插入 HTML 代码。
<p>JavaScript使用<code>function</code>来声明函数</p> <p><code><code></code> 标签用于表示计算机源代码或者其他机器可以阅读的文本内容。</p> <p><code>若要在文本内输出反引号 (`) 外部需要使用多个反引号包裹</code></p> <p>若要直接输出反引号,则需要在标记与文本之间插入空格<code>`foo`</code></p>
反斜杠
反斜杠
\ 用于转义Markdown标记为普通文本。
、
支持转义以下标记:
\ 反斜线` 反引号* 星号_ 底线{} 花括号[] 方括号() 括弧# 井字号+ 加号- 减号. 英文句点! 惊叹号