主要内容:
Markdown是什么?
谁创造了它?
为什么使用它?
谁在用它?
怎么使用它?正文
1. Markdown是什么?
Markdown是一种轻量级标记语言,它以纯文本形式(易读、易写、易更改)编写文档,并最终以HTML格式发布。
Markdown也可以理解为将以MARKDOWN语法编写的语言转换成HTML内容的工具。
Markdown是一种纯文本格式的标记语言。通过简单的标记语法,它可以使普通文本内容具有一定的格式。
相比WYSIWYG编辑器
● 优点:
1、因为是纯文本,所以只要支持Markdown的地方都能获得一样的编辑效果,可以让作者摆脱排版的困扰,专心写作。
2、操作简单。比如:WYSIWYG编辑时标记个标题,先选中内容,再点击导航栏的标题按钮,选择几级标题。要三个步骤。而Markdown只需要在标题内容前加#即可
● 缺点:
1、需要记一些语法(当然,是很简单。五分钟学会)。
2、有些平台不支持Markdown编辑模式。
还好,简书是支持Markdown编辑模式的。1
开启方式:设置->默认编辑器->Markdown编辑器
2.谁创造了它?
它由Aaron Swartz和John Gruber共同设计,Aaron Swartz就是那位于去年(2013年1月11日)自杀,有着开挂一般人生经历的程序员。维基百科对他的介绍是:软件工程师、作家、政治组织者、互联网活动家、维基百科人。
- 14岁参与RSS 1.0规格标准的制订。
- 2004年入读斯坦福,之后退学。
- 2005年创建Infogami,之后与Reddit合并成为其合伙人。
- 2010年创立求进会(Demand Progress),积极参与禁止网络盗版法案(SOPA)活动,最终该提案被撤回。
- 2011年7月19日,因被控从MIT和JSTOR下载480万篇学术论文并以免费形式上传于网络被捕。
- 2013年1月自杀身亡。
3.为什么要用它?
- 它是易读(看起来舒服)、易写(语法简单)、易更改纯文本。处处体现着极简主义的影子。
- 兼容HTML,可以转换为HTML格式发布。
- 跨平台使用。
- 越来越多的网站支持Markdown。
- 更方便清晰地组织你的电子邮件。(Markdown-here, Airmail)
- 摆脱Word(我不是认真的)。
4. 谁在用它?
Markdown的使用者:
- GitHub
- 简书
- Stack Overflow
- Apollo
- Moodle
- 等等
5.怎么使用它?
如果不算扩展,Markdown的语法绝对简单到让你爱不释手。
Markdown语法主要分为如下几大部分:标题,段落,区块引用,代码区块,强调,分割线,链接,图片,反斜杠\
,符号~等。
一、标题
两种方式:
● 方式1
使用=
和-
标记一级和二级标题。1
2
3
4一级标题
=======
二级标题
-------
运行结果,如下:
一级标题
二级标题
● 方式2:使用#,可表示1-6级标题。
在想要设置为标题的文字前面加#来表示
一个#是一级标题,二个#是二级标题,以此类推。支持六级标题。
注:标准语法一般在#后跟个空格再写文字,貌似简书不加空格也行。
示例:1
2
3
4
5
6
7
8```
# 这是一级标题
## 这是二级标题
### 这是三级标题
#### 这是四级标题
##### 这是五级标题
###### 这是六级标题
```
运行结果,如下:1
2
3
4
5
6# 这是一级标题
## 这是二级标题
### 这是三级标题
#### 这是四级标题
##### 这是五级标题
###### 这是六级标题
段落
段落的前后要有空行,所谓的空行是指没有文字内容。若想在段内强制换行的方式是使用两个以上空格加上回车(引用中换行省略回车)。
段落:以一个空行开始,以一个空行结束,中间的就是一个段落。
二、字体
● 加粗
要加粗的文字左右分别用两个*号
包起来1
**加粗的字体**
运行结果,如下:
加粗的字体
● 斜体
要倾斜的文字左右
分别用一个*号
包起来1
*要倾斜的字体*
运行结果,如下:
要倾斜的文字
● 斜体加粗
要倾斜和加粗的文字左右
分别用三个*号包
起来1
***倾斜加粗的字体***
运行结果,如下:
倾斜加粗的字体
● 删除线
要加删除线的文字左右
分别用两个~~号
包起来1
~~删除线的使用~~
运行结果,如下:删除线的使用
三、引用
在引用的文字前加>即可。引用也可以嵌套,如加两个>>三个>>,n个···
貌似可以一直加下去,但没神马卵用1
2
3
4
5>这是引用的内容1
>>这是引用的内容2
>>>这是引用的内容3
>>>>这是引用的内容4
>>>>>这是引用的内容5
运行结果,如下:
这是引用的内容1
这是引用的内容2
这是引用的内容3
这是引用的内容4
这是引用的内容5
四、分割线
三个或者三个以上的 - 或者 * 都可以。1
2
3
4---
----
***
****
运行结果,如下:
五、图片
1 |  |
其中,图片alt就是显示图片下面的文字,相当于对图片内容的解释。
图片title是图片的标题,当鼠标移到图片上时显示的内容。title可加也可不加。
示例:1

运行结果,如下:
六、超链接
语法:1
[超链接名字](超链接地址 "超链接title")
其中,”超链接title”可加也可不加。
示例:1
2[简书](http://jianshu.com "访问简书主页")
[百度](http://www.baidu.com "访问百度主页")
运行结果,如下:
简书
百度
注:Markdown本身语法不支持链接在新页面中打开,貌似简书做了处理,是可以的。别的平台可能就不行了,如果想要在新页面中打开的话可以用html语言的a标签代替。1
<a href="超链接地址" target="_blank">超链接名</a>
示例1
<a href="https://www.jianshu.com/u/1f5ac0cf6a8b" target="_blank">简书</a>
七、列表
● 有序列表
有序列表:使用 数字 加一个英文句点.1
2
3
4
51. 有序列表
2. 有序列表
3. 有序列表
4. 有序列表
5. 有序列表
运行结果,如下:
- 有序列表
- 有序列表
- 有序列表
- 有序列表
- 有序列表
● 无序列表
语法:
无序列表用" - + *"
任何一种都可以1
2
3- 列表内容1
+ 列表内容2
* 列表内容3
注意:- + * 跟内容之间都要有一个空格,且结束列表时,需要中间空一行。
运行结果,如下:
- 列表内容1
- 列表内容2
- 列表内容3
● 列表嵌套
上一级和下一级之间敲三个空格
即可1
2
3
4- 一级无序列表内容1
- 二级无序列表内容2
- 二级无序列表内容2
- 二级无序列表内容2
运行结果,如下:
- 一级无序列表内容1
- 二级无序列表内容2
- 二级无序列表内容2
- 二级无序列表内容2
1 | + 一级无序列表内容1 |
运行结果,如下:
- 一级无序列表内容1
- 二级无序列表内容2
- 二级无序列表内容2
- 二级无序列表内容2
1 | * 一级无序列表内容1 |
运行结果,如下:
- 以及无序列表内容1
- 二级无序列表内容2
- 二级无序列表内容2
- 二级无序列表内容2
特别注意,如下这种情况:
- 一级无序列表内容1
- 二级无序列表内容2
- 二级无序列表内容2
- 二级无序列表内容2
- 三级无序列表内容3
- 三级无序列表内容3
- 三级无序列表内容3
- 二级无序列表内容2
- 一级无序列表内容1
(不知道为什么
?加入字体高亮度显示时,会出错)
运行结果,如下:
- 一级无序列表内容1
- 二级无序列表内容2
- 二级无序列表内容2
- 二级无序列表内容2
- 三级无序列表内容3
- 三级无序列表内容3
- 三级无序列表内容3
- 二级无序列表内容2
- 一级无序列表内容1
注意:这里想说明的是不同级别之间要有换行,如果不换行,默认还是上一级别。但是,这里实验可以发现这个问题已经不存在啦。
八、表格
语法:1
2
3
4表头|表头|表头
---|:--:|---:
内容|内容|内容
内容|内容|内容
说明:
第二行分割表头和内容。-
有一个就行,为了对齐,多加了几个
文字默认居左
■两边加:表示文字居中
■右边加:表示文字居右
注:原生的语法两边都要用 | 包起来。此处省略
示例:1
2
3
4
5姓名|技能|排行
----|:--:|--:
刘备|哭|大哥
关羽|打|二哥
张飞|骂|二哥
运行结果,如下:(表语与上文要空一行,否则会错乱)
姓名 | 技能 | 排行 |
---|---|---|
刘备 | 哭 | 大哥 |
关羽 | 打 | 二哥 |
张飞 | 骂 | 二哥 |
九、代码
语法:
● 单行代码:代码之间分别用一个反引号包起来1
`代码内容`
● 代码块:代码之间分别用三个反引号包起来,且两边的反引号单独占一行1
2
3
4
5```
代码...
代码...
代码...
```
示例:
单行代码1
`create database hero;`
运行结果,如下:create database hero;
代码块1
2
3
4
5
6```
function fun(){
echo "这是一句非常牛逼的代码";
}
fun();
```
运行结果,如下:1
2
3
4function fun(){
echo "这是一句非常牛逼的代码";
}
fun();
十、流程图
1 | ```flow |
运行结果,如下:1
2
3
4
5
6
7
8st=>start: 开始
op=>operation: My Operation
cond=>condition: Yes or No?
e=>end
st->op->cond
cond(yes)->e
cond(no)->op
&
(注意,这里并未打印出流程图,不知道什么原因?)
十一、显示网址
● 写法1:1
2
3超链接:[连接名称](网址 , 标题)
[我是链接名](http://www.izhangbo.cn, "我是标题")
[<i class="icon-refresh"></i> 点我刷新](/sonfilename/)
● 写法2:1
2
3
4另一种超链接写法:[链接名][链接代号]
[here][3]
然后在别的地方定义 3 这个详细链接信息,
[3]: http://www.izhangbo.cn "聚牛团队"
直接展示链接的写法:1
<http://www.izhangbo.cn>
十二、反引号
code格式:反引号
Use the printf()
function.1
``There is a literal backtick (`) here.针对在代码区段内插入反引号的情况``
There is a literal backtick (`) here.针对在代码区段内插入反引号的情况
十三、缩进
markdown段落中如何产生缩进?
因为markdown的段落定义是由一个或多个连续的文本组成,中间的多个空格和tab会被认为是一个空格。
但是有时候确实需要这样的空格或tab缩进格式时怎么办?
方法1:(有效,注意后面的分号)
直接写
半方大的空白 或
全方大的空白 或
不断行的空白格 或方法2:(无效)
输入法切换到全角,双击空格键~
搜狗输入法切换全角与半角的快捷键:
Shift + 空格,即可切换半角/全角。按住Shift,点击空格一次,即可互相切换。
这个方法我遇到一个问题:首段不能缩进!方法3:(无效)
1
> your text
这个是引用的样式
- 方法4:(无效)
1
<a> test</a>
参考文献
Markdown基本语法 网址:https://www.jianshu.com/p/191d1e21f7ed
younghz/Markdown 网址:https://github.com/younghz/Markdown
掌握这几种 Markdown 语法
Markdown 语法说明 (简体中文版)