Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,在2004由约翰·格鲁伯(英语:JohnGruber)创建。通过简单的标记语法,它可以使普通文本内容具有一定的格式。
优点:
- 操作简单(语法简单,几分钟就能学会)
- Markdown 被广泛使用来撰写电子书,如:Gitbook。
- 被用来来撰写帮助文档或是用于论坛上发表消息。例如:GitHub、简书、reddit等。
正是Markdown的快速高效,我选择了它(我使用的文本编辑器是sublime)
注:本文转载自:https://www.jianshu.com/p/191d1e21f7ed/ ,正是通过此文我学会Markdown基本语法,为练手特意仿原作者的博客自己做一遍,内容上加了转义字符和自己遇到的一些问题。
一、标题
在想要设置为标题的文字前面加#来表示
一个#是一级标题,二个#是二级标题,以此类推。支持六级标题。
注:标准语法一般在#后跟个空格再写文字
示例:
## 示例二级标题
### 这是三级标题
#### 这是四级标题
##### 这是五级标题
###### 这是六级标题
效果如下:
示例二级标题
这是三级标题
这是四级标题
这是五级标题
这是六级标题
二、字体
-
加粗
要加粗的文字左右分别用两个*号包起来 -
斜体
要倾斜的文字左右分别用一个*号包起来 -
斜体加粗
要倾斜和加粗的文字左右分别用三个*号包起来 -
删除线
要加删除线的文字左右分别用两个~~号包起来
示例:
**这是加粗的文字**
*这是倾斜的文字*
***这是斜体加粗的文字***
~~这是加删除线的文字~~
效果如下:
这是加粗的文字
这是倾斜的文字
这是斜体加粗的文字
这是加删除线的文字
三、引用
在引用的文字前加>即可。引用也可以嵌套,如加两个>>三个>>>
n个...
貌似可以一直加下去,但没什么用
示例:
>这是引用的内容
>>这是引用的内容
>>>>>>>>>>这是引用的内容
效果如下:
这是引用的内容
这是引用的内容
这是引用的内容
四、分割线
三个或者三个以上的-或*都可以
示例:
---
----
***
*****
效果如下:
可以看到,显示效果都是一样的,不过不知道为何"---"需要换行才能显示4行,不然只有3行
五、图片
语法:
![图片alt](图片地址 ''图片title'')
图片alt就是显示在图片下面的文字,相当于对图片内容的解释。
图片title是图片的标题,当鼠标移到图片上时显示的内容。title可加可不加
示例:
![PShawn logo](pshawn.png)
效果如下:
markdown格式追求的是简单、多平台统一。那么图片的存储就是一个问题,需要用图床,提供统一的外链,这样就不用在不同的平台去处理图片的问题了。才能做到书写一次,各处使用。
关于图床的选择原作者写了一篇文章,对网上存在的各种方法做了总结,需要的朋友可以看看。markdown图床
六、超链接
语法:
[超链接名](超链接地址 "超链接title")
title可加可不加
示例:
[GitHub](https://github.com/)
[百度](http://baidu.com)
效果如下:
注:Markdown本身语法不支持链接在新页面中打开,貌似简书做了处理,是可以的。别的平台可能就不行了,如果想要在新页面中打开的话可以用html语言的a标签代替。
<a href="超链接地址" target="_blank">超链接名</a>
示例
<a href="https://www.jianshu.com/u/1f5ac0cf6a8b" target="_blank">简书</a>
七、列表
无序列表
语法:
无序列表用 - + * 任何一种都可以
- 列表内容
+ 列表内容
* 列表内容
注意:- + * 跟内容之间都要有一个空格
效果如下:
- 列表内容
- 列表内容
- 列表内容
有序列表
语法:
数字加点
1. 列表内容
2. 列表内容
3. 列表内容
注意:序号跟内容之间要有空格
效果如下:
- 列表内容
- 列表内容
- 列表内容
列表嵌套
上一级和下一级之间敲三个空格即可
-
一级无序列表内容
- 二级无序列表内容
- 二级无序列表内容
- 二级无序列表内容
-
一级无序列表内容
- 二级有序列表内容
- 二级有序列表内容
- 二级有序列表内容
-
一级有序列表内容
- 二级无序列表内容
- 二级无序列表内容
- 二级无序列表内容
-
一级有序列表内容
- 二级有序列表内容
- 二级有序列表内容
- 二级有序列表内容
注:无序列表下似乎只能无序?
八、表格
语法:
表头|表头|表头
---|:--:|---:
内容|内容|内容
内容|内容|内容
第二行分割表头和内容。
- 有一个就行,为了对齐,多加了几个
文字默认居左
-两边加:表示文字居中
-右边加:表示文字居右
注:原生的语法两边都要用 | 包起来。此处省略
示例:
| 左对齐 | 右对齐 | 居中 |
| :-------- | -------:| :--: |
| Computer | 5000 元 | 1台 |
| Phone | 1999 元 | 1部 |
//hexo下有时会出问题
效果如下:
左对齐 | 右对齐 | 居中 |
---|---|---|
Computer | 5000 元 | 1台 |
Phone | 1999 元 | 1部 |
九、代码
语法:
单行代码:代码之间分别用一个反引号包起来
`代码内容`
代码块:代码之间分别用三个反引号包起来,且两边的反引号单独占一行
(```)
代码...
代码...
代码...
(```)
注:为了防止转译,前后三个反引号处加了小括号,实际是没有的。这里只是用来演示,实际中去掉两边小括号即可。
示例:
单行代码
`create database hero;`
代码块
(```)
function fun(){
echo "这是一句非常牛逼的代码";
}
fun();
(```)
效果如下:
单行代码
create database hero;
代码块
function fun(){
echo "这是一句非常牛逼的代码";
}
fun();
十、流程图
···flow #由于渲染问题,请自行将 · 替换为 `
st=>start: 开始语句
in=>inputoutput: 输入值
e=>end: 结束语句
op=>operation: 执行操作
cond=>condition: 是否成立?
out=>inputoutput: 输出值
st->in->op->cond
cond(yes)->out
cond(no)->op
out->e
···
效果如下:
注:hexo不能直接使用流程图,要先引入:npm install --save hexo-filter-flowchart
hexo优化:Markdown语法引入Flowchart和Mermaid流程图
十一、转义字符
在使用 markdown 编辑器编写文档的时候,有时候需要输入一些特殊符号,然而却是 markdown 的语法,那就需要使用转义字符。只需要再特殊符号前加上反斜杠 \ 即可
示例:
\\
\*
\_
\{\}
\[\]
\(\)
\#
\+
\-
\.
\!