Markdown入门

Markdown入门

目录

关于 Markdown

介绍

Wiki: Markdown

Markdown 是一种轻量级标记语言,创始人为约翰·格鲁伯(John Gruber)。它允许人们“使用易读易写的纯文本格式编写文档,然后转换成有效的 XHTML(或者 HTML)文档”。这种语言吸收了很多在电子邮件中已有的纯文本标记的特性。

为什么选择 Markdown

  • 它基于纯文本,方便修改和共享;
  • 几乎可以在所有的文本编辑器中编写;
  • 有众多编程语言的实现,以及应用的相关扩展;
  • GitHub 等网站中有很好的应用;
  • 很容易转换为 HTML 文档或其他格式;
  • 适合用来编写文档、记录笔记、撰写文章。

兼容 HTML

Markdown 完全兼容 HTML 语法,可以直接在 Markdown 文档中插入 HTML 内容:

<table>
  <tr>
    <td>1</td>
    <td>2</td>
  </tr>
  <tr>
    <td>3</td>
    <td>4</td>
  </tr>
</table>

这段代码会变成下面的样子:

<table>
<tr>
<td>1</td>
<td>2</td>
</tr>
<tr>
<td>3</td>
<td>4</td>
</tr>
</table>

第一个 Markdown 文档

Hello.md

打开你熟悉的文本编辑器(如 Sublime Text),新建一个 'hello.md' 文件,写入下面的内容,并保存:

Hello
====

I like [Google](https://www.google.com/)

'.md' 和 '.markdown' 都是被普遍支持的扩展名,不过 '.md' 更加简单和方便。

它转换为 HTML 文档后,应该和 Hello.md 差不多:

[图片上传失败...(image-37c3d0-1562747616395)]

要了解将 Markdown 转换为 HTML 或其他格式,可以参考 格式转换

语法

段落与换行

1. 段落的前后必须是空行:

空行指的是行内什么都没有,或者只有空白符(空格或制表符)

相邻两行文本,如果中间没有空行
会显示在一行中(换行符被转换为空格)

2. 如果需要在段落内加入换行(<br>):

可以在前一行的末尾加入至少两个空格
然后换行写其它的文字

3. Markdown 中的多数区块都需要在两个空行之间。

标题

1. Setext 形式

H1
====

H2
----

H1

H2

=- 的数量是没有限制的。通常的做法是使其和标题文本的长度相同,这样看起来比较舒服。或者可以像我一样,用四个 -=
Setext 形式只支持 h1h2 两种标题。

2. atx 形式

① 可以用对称的 # 包括文本:

####H4####

#####H5#####

H4

H5

② 也可以只在左边使用 #

####H4

#####H5

H4

H5

③ 成对的 # 左侧和只在左边使用的 # 左侧都不可以有任何空白,但其内侧可以使用空白。

 ###左侧使用了空格###

#### 内侧使用了空格

左侧使用了空格###

内侧使用了空格

在这一点上,可能各种 Markdown 的实现会有不同的结果,不过仍然需要我们遵守语法规则。

引用

1. 引用内容

在段落或其他内容前使用 > 符号,就可以将这段内容标记为 '引用' 的内容(<blockquote>):

>引用内容

引用内容

2. 多行引用

>多行引用
>可以在每行前加 `>`

多行引用
可以在每行前加 >

>如果仅在第一行使用 `>`,
后面相邻的行即使省略 `>`,也会变成引用内容

如果仅在第一行使用 >
后面相邻的行即使省略 >,也会变成引用内容

>如果引用内容需要换行,  
>可以在行尾添加两个空格
>
>或者在引用内容中加一个空行

如果引用内容需要换行,
可以在行尾添加两个空格

或者在引用内容中加一个空行

3. 嵌套引用

>也可以在引用中
>>使用嵌套的引用

也可以在引用中

使用嵌套的引用

4. 其他 Markdown

>在引用中可以使用使用其他任何 *Markdown* 语法

在引用中可以使用使用其他任何 Markdown 语法

列表

无序列表

* 可以使用 `*` 作为标记
+ 也可以使用 `+`
- 或者 `-`
  • 可以使用 * 作为标记
  • 也可以使用 +
  • 或者 -

有序列表

1. 有序列表以数字和 `.` 开始;
3. 数字的序列并不会影响生成的列表序列;
4. 但仍然推荐按照自然顺序(1.2.3...)编写。
  1. 有序列表以数字和 . 开始;
  2. 数字的序列并不会影响生成的列表序列;
  3. 但仍然推荐按照自然顺序(1.2.3...)编写。

嵌套的列表

1. 第一层
  + 1-1
  + 1-2
2. 无序列表和有序列表可以随意相互嵌套
  1. 2-1
  2. 2-2
  1. 第一层
  • 1-1
  • 1-2
  1. 无序列表和有序列表可以随意相互嵌套
  2. 2-1
  3. 2-2

语法和用法

  1. 无序列表项的开始是:符号 空格;
  2. 有序列表项的开始是:数字 . 空格;
  3. 空格至少为一个,多个空格将被解析为一个;
  4. 如果仅需要在行前显示数字和 .
05\. 可以使用:数字\. 来取消显示为列表

05. 可以使用:数字\. 来取消显示为列表

\* 的语法专门用来显示 Markdown 语法中使用的特殊字符,参考 字符转义

代码

代码块

可以使用缩进来插入代码块:

<html> // Tab开头
    <title>Markdown</title>
</html> // 四个空格开头

代码块前后需要有至少一个空行,且每行代码前需要有至少一个 Tab 或四个空格;

行内代码

也可以通过 ``,插入行内代码(` 是 Tab 键上边、数字 1 键左侧的那个按键):

例如 <title>Markdown</title>

转换规则

代码块中的文本(包括 Markdown 语法)都会显示为原始内容,而特殊字符会被转换为 HTML 字符实体

分隔线

1. 可以在一行中使用三个或更多的 *-_ 来添加分隔线(<hr>):

***
------
___



2. 多个字符之间可以有空格(空白符),但不能有其他字符:

* * *
- - -


超链接

行内式

格式为 [link text](URL 'title text')

① 普通链接:

[Google](http://www.google.com/)

Google

② 指向本地文件的链接:

[icon.png](./images/icon.png)

icon.png

③ 包含 'title' 的链接:

[Google](http://www.google.com/ "Google")

Google

title 使用 ' 或 " 都是可以的。

参考式

参考式链接的写法相当于行内式拆分成两部分,并通过一个 识别符 来连接两部分。参考式能尽量保持文章结构的简单,也方便统一管理 URL。

① 首先,定义链接:

[Google][link]

Google

第二个方括号内为链接独有的 识别符,可以是字母、数字、空白或标点符号。识别符是 不区分大小写 的;

② 然后定义链接内容:

[link]: http://www.google.com/ "Google"

其格式为:[识别符]: URL 'title'

其中,URL可以使用 <> 包括起来,title 可以使用 ""、''、() 包括(考虑到兼容性,建议使用引号),title 部分也可以换行来写;

链接内容的定义可以放在同一个文件的 任意位置

③ 也可以省略 识别符,使用链接文本作为 识别符

[Google][]
[Google]: http://www.google.com/ "Google"

[Google][]
[Google]: http://www.google.com/ "Google"

参考式相对于行内式有一个明显的优点,就是可以在多个不同的位置引用同一个 URL。

自动链接

使用 <> 包括的 URL 或邮箱地址会被自动转换为超链接:

<http://www.google.com/>

<123@email.com>

http://www.google.com/

123@email.com

该方式适合行内较短的链接,会使用 URL 作为链接文字。邮箱地址会自动编码,以逃避抓取机器人。

图像

插入图片的语法和插入超链接的语法基本一致,只是在最前面多一个 !。也分为行内式和参考式两种。

行内式

![GitHub](https://avatars2.githubusercontent.com/u/3265208?v=3&s=100 "GitHub,Social Coding")

[站外图片上传中...(image-f3e7d-1562747616395)]

方括号中的部分是图片的替代文本,括号中的 'title' 部分和链接一样,是可选的。

参考式

![GitHub][github]

[github]: https://avatars2.githubusercontent.com/u/3265208?v=3&s=100 "GitHub,Social Coding"

指定图片的显示大小

Markdown 不支持指定图片的显示大小,不过可以通过直接插入<img />标签来指定相关属性:

<img src="https://avatars2.githubusercontent.com/u/3265208?v=3&s=100" alt="GitHub" title="GitHub,Social Coding" width="50" height="50" />

<img src="https://avatars2.githubusercontent.com/u/3265208?v=3&s=100" alt="GitHub" title="GitHub,Social Coding" width="50" height="50" />

强调

1. 使用 * *_ _ 包括的文本会被转换为 <em></em> ,通常表现为斜体:

这是用来 *演示* 的 _文本_

这是用来 演示文本

2. 使用 ** **__ __ 包括的文本会被转换为 <strong></strong>,通常表现为加粗:

这是用来 **演示** 的 __文本__

这是用来 演示文本

3. 用来包括文本的 *_ 内侧不能有空白,否则 *_ 将不会被转换(不同的实现会有不同的表现):

这是用来 * 演示* 的 _文本 _

这是用来 * 演示* 的 _文本 _

4. 如果需要在文本中显示成对的 *_,可以在符号前加入 \ 即可:

这是用来 \*演示\* 的 \_文本\_

这是用来 *演示* 的 _文本_

5. ***___ 都必须 成对使用

字符转义

反斜线(\)用于插入在 Markdown 语法中有特殊作用的字符。

这是用来 *演示* 的 _文本_

这是用来 \*演示\* 的 \_文本\_

这是用来 演示文本

这是用来 *演示* 的 _文本_

这些字符包括:

\
`
*
_
{}
[]
()
#
+
-
.
!
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,921评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,635评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,393评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,836评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,833评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,685评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,043评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,694评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,671评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,670评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,779评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,424评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,027评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,984评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,214评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,108评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,517评论 2 343

推荐阅读更多精彩内容

  • Markdown 语法手册 概述宗旨兼容HTML特殊字符子自动转换 区块元素段落和换行标题区块引用列表代码区块列表...
    Junting阅读 526评论 0 0
  • [toc] ## MarkDown 是什么?   想了很久,第二篇文章写什么好呢。这篇文章既要让大家感兴趣,又要让...
    黄盼_b024阅读 564评论 0 3
  • 最近写博客对makedown的语法有些生疏,今天写一个markdown入门博客来熟悉下markdown的语法和适用...
    Chris__Liu阅读 316评论 0 0
  • 写在前面 之前在 CSDN 写过一段时间的博客,使用的是传统的文本。最近利用 Github+Hexo 搭建了一个静...
    Lucky_Light阅读 1,613评论 0 21
  • ✈️飞机在暹粒机场徐徐降落,一下飞机,就被吴哥窟铺面的热浪冲晕,入境大厅里满满的都是人,顺利入境,也找到了...
    羽_彤阅读 551评论 0 0