Markdown 基本语法
[TOC]
一、前言
Markdown
是什么?轻量级的纯文本标记语言,通过简单的标记,使得普通文本内容具有一定的格式。
Markdown
的有哪些优点?- 简单直观,纯文本,写作时摆脱排版的干扰,专注于文字内容
- 软件依赖小,任意一个文本编辑器均可用于编写
markdown
文档 - 学习成本低,语法简单,极易操作,5分钟学会,常用标记符号不超过10个
- 可以导出为
html
和pdf
Markdown
的不足?- 格式简单,不支持复杂的格式
- 原始Markdown支持的格式有限,出现了众多扩展,扩展之间不兼容
- Markdown没有标准化,版本众多,不同的编辑器格式会存在细微的差异,由于github的原因当前比较流行的是gfm ,Markdown作者的反对标准化立场,现行的Markdown解析器百花齐放,你所用到的网站或者App的解析器可能都不一样。
二、语法
1. 标题
标题是每篇文章都需要且最常用的一种格式,再Markdown
中,如果一段文字被定义为标题,只需要在这段文字前加#
即可,一个#号代表一级标题,两个#是二级标题,以此类推,最多支持6级 ,对应html的<h1></h1>
~<h6></h6>
标签
1 | # 一级标题 `h1` |
一级标题 h1
二级标题 h2
三级标题 h3
四级标题 h4
五级标题 h5
六级标题 h6
2. 列表
列表分为有序列表和无序列表,对应HTML里的有序列表ol li
和无序列表ul li
标签
有序列表
<ol> <li>
在文字前加
1.
2.
3.
1
2
31. Item 1
2. Item 2
3. Item 3- Item 1
- Item 2
- Item 3
- …
无序列表
<ul> <li>
在文字前加
-
或*
1
2
3
4* Item 1
* Item 2
* Item 3
- Item 4- Item 1
- Item 2
- Item 3
- Item 4
- 列表间支持多级嵌套
- 如果列表没有生效 ,试试在符号和文字间加个空格
3. 引用 <blockquote>
当你在文章中引用了一段别人说的话,可以使用引用格式 ,在文本前添加大于号>
即可
1 | > 两脚任从行处来, 一灵常与气相随, 有时四大熏熏醉, 借问青天我是谁? --- 王重阳 |
效果如下:
两脚任从行处来, 一灵常与气相随, 有时四大熏熏醉, 借问青天我是谁? — 王重阳
引用也是可以嵌套的:
君不见黄河之水天上来,奔流到海不复回。
君不见高堂明镜悲白发,朝如青丝暮成雪。
人生得意须尽欢,莫使金樽空对月
4. 强调
粗体
<b>
文字左右两边分别使用两个
*
包起来,就可以加粗1
**粗体**
斜体
<i>
文字左右两边分别使用一个
*
包起来,就是斜体1
*斜体*
斜体加粗
<b><i>
文字左右两边分别使用三个
*
包起来,就是斜体加粗1
***斜体加粗***
删除线
<s>
将要删除的文字,使用两个
~
包起来,就是删除线1
~~删除线~~
5. 图片与链接
插入图片与插入链接的语法非常相似,区别在于插入图片前多了一个!
插入图片
<img>
1
![](http://image.werty.cn/source_blog/20191213233025.png)
效果:
插入链接
<a>
1
2[欢迎访问我的博客](http://werty.cn)
[http://werty.cn](http://werty.cn)
6. 代码框
作为一名程序猿,在文档里优雅的显示代码,推荐使用Markdown
的代码框语法
行内代码
使用两个反引号`号把中间的代码包裹起来即可
echo "Hello World!"
1
`echo "Hello World!"`
多行代码
前后一行各使用三个反引号`号把中间的代码包裹起来
多行代码已经在本文中多次演示,每一个语法展示都是一个多行代码块
1
echo “你好,我是多行代码块”
1
1
echo "你好,我是多行代码块"
多行代码tab
支持缩进,支持指定语言
1 | ```php |
1 |
|
反引号键在键盘esc键下方,1键左边
代码区块中,一般的 Markdown 语法不会被转换,就如本文,你可以很容易地以 Markdown 语法撰写 Markdown 语法的使用指南
7.表格
表格是Markdown相对比较难用的地方,纯文本模式下,看起来不是很友好
1 | | 表头 | 表头 | 表头 | |
表头 | 表头 | 表头 | ||
---|---|---|---|---|
这是表格中的一个单元格 | 我也是表格中的一个单元格 | 我是文本居右的单元格 | ||
我是文本居左的单元格 | 我是居中的单元格 | 我是居右的单元格 | ||
表格内换行 可以使用 <br> |
|
$2H_2O_2 \xlongequal[]{\text二氧化锰} 2H_2O + O_2$
$ 2kClO_3 \xlongequal[加热]{Mn0_2} 2KCl + 3O_2 $
$${2\rm{C_2H_5OH}}\xlongequal[140^\circ {\rm C}]{\text{稀硫酸}}{\rm C_2H_5OC_2H_5+H_2O} $$