Markdown 是一种轻量级标记语言,它以纯文本形式(易读、易写、易更改)编写文档,并最终以 HTML 格式发布。通过简单的标记语法,它可以使普通文本内容具有一定的格式。相比所见即所得(WYSIWYG)编辑器,Markdown 可以让使用者摆脱排版的困扰,专心于写作。当前许多网站都广泛使用 Markdown 来撰写帮助文档或是用于论坛上发表消息。例如:GitHub、简书、掘金等。
标题
1、你可以使用 =
和 -
语法来展示一级和二级标题
=
和 -
语法格式如下:
这是一级标题
=================
这是二级标题
-----------------
展示效果如下:
这是一级标题
这是二级标题
2、使用 #
号语法
使用 #
号可表示 1-6 级标题,一级标题对应一个 #
号,二级标题对应两个 #
号,以此类推。
# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题
效果如下:
一级标题
二级标题
三级标题
四级标题
五级标题
六级标题
段落
段落的前后要有空行,所谓的空行是指没有文字内容。
若想在段内强制换行的方式是使用两个以上空格加上回车(引用中换行不需要回车)。
当然也可以在段落后面使用一个空行来表示重新开始一个段落。
空行模式
这是一个段落。
这是另一个段落。
效果如下:
这是一个段落。
这是另一个段落。
空格换行模式
这是一个段落,后面带了两个空格。
这是另一个段落。
效果如下:
这是一个段落,后面带了两个空格。
这是另一个段落。
字体
斜体
你只要给需要倾斜的文字左右分别用一个 *
或 _
号包起来就可以了。
*斜体文本*
_斜体文本_
效果如下:
斜体文本
斜体文本
粗体
你只要给需要倾斜的文字左右分别用两个 *
或 _
号包起来就可以了。
**粗体文本**
__粗体文本__
效果如下:
粗体文本
粗体文本
粗斜体
你只要给需要倾斜的文字左右分别用三个 *
或 _
号包起来就可以了。
***粗斜体文本***
___粗斜体文本___
效果如下:
粗斜体文本
粗斜体文本
删除线
你只要给需要倾斜的文字左右分别用两个 ~
号包起来就可以了。
~~这段文本使用了删除线~~
效果如下:
这段文本使用了删除线
在文本段内使用
Markdown 的文本格式虽然不多但已经满足绝大部分的写作需求。虽然示例都是一段文本演示一个文本语法,但 Markdown 的文本语法是可以在一段文本内混合。
**月光如流水一般,静静地泻在这一片叶子和花上**。薄薄的青雾浮起在荷塘里。叶子和花*仿佛在牛乳中洗过一样*;又像笼着轻纱的梦。虽然是满月,天上却有一层淡淡的云,所以不能朗照;但我以为这恰是到了好处—— ___酣眠固不可少,小睡也别有风味的___ 。月光是隔了树照过来的,高处丛生的灌木,落下参差的斑驳的黑影,峭楞楞如鬼一般;弯弯的杨柳的稀疏的倩影,却又像是画在荷叶上。塘中的月色并不均匀;但光与影有着和谐的旋律,如~~梵婀玲~~上奏着的名曲。
效果如下:
月光如流水一般,静静地泻在这一片叶子和花上。薄薄的青雾浮起在荷塘里。叶子和花仿佛在牛乳中洗过一样;又像笼着轻纱的梦。虽然是满月,天上却有一层淡淡的云,所以不能朗照;但我以为这恰是到了好处—— 酣眠固不可少,小睡也别有风味的 。月光是隔了树照过来的,高处丛生的灌木,落下参差的斑驳的黑影,峭楞楞如鬼一般;弯弯的杨柳的稀疏的倩影,却又像是画在荷叶上。塘中的月色并不均匀;但光与影有着和谐的旋律,如梵婀玲上奏着的名曲。
列表
Markdown 支持有序列表和无序列表。
无序列表
无序列表使用 *
、+
或 -
作为列表标记。
注意:标记后面最少有一个空格或制表符。若不在引用区块中,必须和前方段落之间存在空行。
* 星号标记第一项
* 星号标记第二项
* 星号标记第三项
+ 加号标记第一项
+ 加号标记第二项
+ 加号标记第三项
- 减号标记第一项
- 减号标记第二项
- 减号标记第三项
效果如下:
- 星号标记第一项
- 星号标记第二项
- 星号标记第三项
- 加号标记第一项
- 加号标记第二项
- 加号标记第三项
- 减号标记第一项
- 减号标记第二项
- 减号标记第三项
有序列表
有序列表使用数字并加上 .
来表示。
注意:标记后面最少有一个空格或制表符。若不在引用区块中,必须和前方段落之间存在空行。
1. 第一项
2. 第二项
3. 第三项
效果如下:
- 第一项
- 第二项
- 第三项
列表嵌套
列表嵌套只需在子列表中的选项前面添加两个以上空格即可:
- 一级无序列表内容
+ 二级无序列表内容
+ 二级无序列表内容
+ 二级无序列表内容
- 一级无序列表内容
1. 二级有序列表内容
2. 二级有序列表内容
3. 二级有序列表内容
1. 一级有序列表内容
* 二级无序列表内容
* 二级无序列表内容
* 二级无序列表内容
2. 一级有序列表内容
1. 二级有序列表内容
2. 二级有序列表内容
3. 二级有序列表内容
效果如下:
一级无序列表内容
- 二级无序列表内容
- 二级无序列表内容
- 二级无序列表内容
一级无序列表内容
- 二级有序列表内容
- 二级有序列表内容
- 二级有序列表内容
一级有序列表内容
- 二级无序列表内容
- 二级无序列表内容
- 二级无序列表内容
一级有序列表内容
- 二级有序列表内容
- 二级有序列表内容
- 二级有序列表内容
待办事项
待办事项是列表的进阶用法,是在列表的基础上结合未完成 [ ]
与已完成 [x]
实现。
注意:待办事项是一个进阶语法,不同的 Markdown 编辑器对其支持程度不同。
- [x] 吃饭
- [x] 睡觉
- [ ] 打豆豆
效果如下:
- 吃饭
- 睡觉
- 打豆豆
待办事项嵌套
- [ ] 日常
1. [x] 吃饭
2. [x] 睡觉
3. [ ] 打豆豆
- [ ] 工作
- [ ] Coding
- [ ] 摸鱼
- [x] 思考人生
- [x] 思考人生
- [x] 思考人生
- [x] 思考人生
- 日常
- 吃饭
- 睡觉
- 打豆豆
- 工作
- Coding
- 摸鱼
- 思考人生
- 思考人生
- 思考人生
- 思考人生
- 思考人生
- 思考人生
区块引用
Markdown 区块引用是在段落开头使用 >
符号 ,加上一个空格来表示。
> 区块引用
> 其他的引用内容
效果如下:
区块引用
其他的引用内容
引用嵌套
区块引用是可以嵌套的,你可以加两个 >>
、三个 >>>
,甚至 n
个 >
,这有点类似于引用回复的“盖塔”效果,一般情况下用不到这种特性。
> 第一层
>> 第一层嵌套
>>> 第二层嵌套
>>>>>>>>> 第九层~~妖塔~~嵌套
效果如下:
第一层
第一层嵌套
第二层嵌套
第九层
妖塔嵌套
区块引用中使用其他标记
区块引用中可以混用其他的 Markdown 标记。
> 区块引用中使用其他的 **Markdown** 标记
> 1. **第一项**
> 2. ___第二项___
> + _第一项_
> + ~~第二项~~
效果如下:
区块引用中使用其他的 Markdown 标记
- 第一项
- 第二项
- 第一项
第二项
分割线
Markdown 中的分割线使用三个以上的 -
或 *
表示。
注意:-
或 *
的多少并不影响分割线的样式。
--------
****
效果如下:
链接
Markdown 的链接主要有两种形式:行内式和参考式。
行内式
行内式主要是以下两种写法,其中链接描述是可选的。
[链接名称](链接地址 "可选标题")
<链接地址 "可选标题">
实例如下:
[梦翼坊](https://xiangfa.org "点击访问梦翼坊")
这是一个网址<https://xiangfa.org>
效果如下:
梦翼坊
这是一个网址https://xiangfa.org
参考式
当一篇文章中多次涉及到相同的网址链接时,如果每处都使用完整的长链接,会使文章变得”臃肿“,甚至导致难以阅读。
此外,当你后期需要修改链接时,你需要找到页面内所有需要修改的链接并一一调整。
为了解决这类问题,你可以考虑使用参考式链接。
[链接名称][引用变量]
实例如下:
这篇使用指南在编写过程中参考了很多文章,比如[Github][github]、[菜鸟教程][1]以及[简书][2]。
[github]: https://github.com/younghz/Markdown
[1]: https://www.runoob.com/markdown/md-tutorial.html
[2]: https://www.jianshu.com/p/191d1e21f7ed
效果如下:
这篇使用指南在编写过程中参考了很多文章,比如Github、菜鸟教程以及简书。
图片
图片的使用方式跟链接很相似,或者说是在链接语法前多加了一个 !
,具体语法如下:
![alt 属性文本](图片地址 "可选标题")
具体实例如下:
![梦翼坊 Logo](https://xiangfa.org/images/logo.svg "这是梦翼坊的 Logo")
效果如下:
当然,你也可以像链接那样对图片网址使用变量。
这是梦翼坊的 Logo:![梦翼坊 Logo][logo]
[logo]: https://xiangfa.org/images/logo.svg
效果如下:
这是梦翼坊的 Logo:
表格
Markdown 制作表格使用 |
来分隔不同的单元格,使用一个以上 -
来分隔表头和其他行。
| 表头 | 表头 |
| ---- | ---- |
| 单元格 | 单元格 |
| 单元格 | 单元格 |
效果如下:
表头 | 表头 |
---|---|
单元格 | 单元格 |
单元格 | 单元格 |
我们可以通过 -
与 :
的组合设置表格的对齐方式:
-:
设置内容和标题栏居右对齐:-
设置内容和标题栏居左对齐:-:
设置内容和标题栏居中对齐
注意:-
的个数不会影响显示效果。
实例如下:
| 左对齐 | 居中对齐 | 右对齐 |
| :-----| :----: | ----: |
| 单元格 | 单元格 | 单元格 |
| 单元格 | 单元格 | 单元格 |
效果如下:
左对齐 | 居中对齐 | 右对齐 |
---|---|---|
单元格 | 单元格 | 单元格 |
单元格 | 单元格 | 单元格 |
代码
代码可以分为行内区块、代码区块以及代码片段三种形式。
行内区块
如果是段落上的一个函数或片段的代码可以用反引号(`)把它包起来,比如:
在网页上可以使用 `alert('Hello World')` 函数进行页面提示
效果如下:
在网页上可以使用 alert('Hello World')
函数进行页面提示
代码区块
代码区块使用四个空格或者一个制表符(Tab 键)来表示。
function say(text) {
alert(text)
}
say('Hello World')
效果如下:
function say(text) {
alert(text)
}
say('Hello World')
代码片段
目前很多 Markdown 编辑器都支持代码高亮,但常规的代码区块方式无法明确代码语言导致无法精确的代码高亮,因此代码片段的方式更适合用于代码高亮。代码片段的语法格式如下:
```语言类型
这里是具体的代码片段
```
实例如下:
```JavaScript
function say(text) {
alert(text)
}
say('Hello World')
```
效果如下:
function say(text) {
alert(text)
}
say('Hello World')
高级技巧
支持混合使用 HTML 标签
本文一开始就提到 Markdown 最终以 HTML 格式发布,因此你完全可以在 Markdown 里直接混用标准的 HTML 标签。
<u>在 Windows 操作系统中</u>,你可以使用 <code>Ctrl</code>+<code>Alt</code>+<code>Del</code> 重启电脑
效果如下:
在 Windows 操作系统中,你可以使用 Ctrl
+Alt
+Del
重启电脑
转义
Markdown 使用了很多特殊符号来表示特定的意义,如果需要显示特定的符号则需要使用转义字符,Markdown 使用反斜杠转义特殊字符:
**文本加粗**
\*\* 正常显示星号 \*\*
效果如下:
文本加粗
** 正常显示星号 **
Markdown 支持以下这些符号前面加上反斜杠来帮助插入普通的符号:
\ 反斜线
` 反引号
* 星号
_ 下划线
{} 花括号
[] 方括号
() 小括号
# 井字号
+ 加号
- 减号
. 英文句点
! 感叹号
其他
不同的 Markdown 编辑器对 Markdown 的语法支持程度也不同,部分 Markdown 编辑器通过插件的方式可以支持公式、流程图、时序图、甘特图等进阶语法。这些语法并不属于 Markdown 的基础语法,因此这里也不再展开叙述,你可以根据实际情况选择性的学习。
文章源码
本文介绍了 Markdown 的基础用法,当然你看到的这篇文章也完全是用 Markdown 编写,你可以在这里 查看当前文章的 Markdown 源码。
参考
此为原创文章,转载请注明出处