这是一篇Markdown语法教程。
Markdown基本语法
标题
在文字写书写不同数量的#可以完成不同的标题,如下:
# 一级标题 ## 二级标题 ### 三级标题 #### 四级标题 ##### 五级标题 ###### 六级标题
等号及减号也可以进行标题的书写,不过只能书写二级标题,并且需要写在文字的下面,减号及等号的数量不会影响标题的基数,如下:
二级标题 ========= 二级标题 ---------
列表
无序列表的使用
在符号“-”后加空格使用。如下:
- 无序列表1 - 无序列表2 - 无序列表3
效果:
- 无序列表1
- 无序列表2
- 无序列表3
- 无序列表1
如果要控制列表的层级,则需要在符号“-”前使用空格。如下:
- 无序列表1 - 无序列表2 - 无序列表2.1 - 列表内容 - 列表内容
效果:
- 无序列表1
- 无序列表2
- 无序列表2.1
- 列表内容
- 列表内容
- 无序列表2.1
- 无序列表2
- 无序列表1
有序列表的使用
在数字及符号“.”后加空格几个,如下:
1. 有序列表1 2. 有序列表2 3. 有序列表3
效果:
- 有序列表1
- 有序列表2
- 有序列表3
- 有序列表1
有序列表如果要区分层级,也可以在数字前加空格。比如:
1. 有序列表A 2. 有序列表B 3. 有序列表b 4. 列表内容 5. 列表内容
效果:
- 有序列表A
- 有序列表B
- 有序列表b
- 列表内容
- 列表内容
- 有序列表b
引用
引用的格式是使用符号“>”后面书写文字,及可以使用引用。如下:
>非淡泊无以明志,非宁静无以致远。这个是引用
效果:
非淡泊无以明志,非宁静无以致远。这个是引用
粗体与斜体
粗体的使用是在需要加粗的文字前后各加两个“”,而斜体的使用则是在需要斜体的文字前后各加一个“”,如果要使用粗体和斜体,那么就是在需要操作的文字前后各加三个“*”。如下:
**这个是粗体** *这个是斜体* ***这个是粗体加斜体***
效果:
这个是粗体
这个是斜体
这个是粗体加斜体
链接与图片
网址链接
在文中直接加链接,中括号中是需要添加链接的文字,圆括号中是需要添加的链接,如下:
[abc](www.abc.com)
效果:
在引用中加链接,第一个中括号添加需要添加的文字,第二个中括号中是引用链接的id,之后在引用中,使用id加链接:如下:
[link text][id] [id]: http://example.com/ "optional title here"
效果:
在文中直接引用链接,直接使用尖括号,把链接加入到尖括号中就可以实现,如下:
<http://example.com/> or <address@example.com>
效果:
图片链接
插入互联网上图片,格式如下:
 ![这里写图片描述][jane-eyre-douban] [jane-eyre-douban]: http://img.hb.aicdn.com/
效果:
代码块
用TAB键起始的段落,会被认为是代码块,如下:
<php> echo “hello world"; </php>
如果在一个行内需要引用代码,只要用反引号`引起来就好,如下:
Use the `printf()` function.
效果:
Use the
printf()
function.
分割线与删除线
可以在一行中用三个以上的星号、减号、底线来建立一个分隔线,同时需要在分隔线的上面空一行。如下:
--- **** ___
效果:
删除线的使用,在需要删除的文字前后各使用两个符合“~”,如下
~~Mistaken text.~~
效果:
Mistaken text.
代码块与语法高亮
在需要高亮的代码块的前一行及后一行使用三个反引号“`”,同时第一行反引号后面表面代码块所使用的语言,如下:
```ruby require 'redcarpet' markdown = Redcarpet.new("Hello World!") puts markdown.to_html ```
效果:
require 'redcarpet' markdown = Redcarpet.new("Hello World!") puts markdown.to_html
表格
可以使用冒号来定义表格的对齐方式,如下:
| 公司 | 商品 | 价格 | ------ |:------:| ----:| | 华为 | P10 |$3699 | | ViVO | X9 | $2399 | |OPPO | R9 | $2499 |
效果:
公司 商品 价格 华为 P10 $3699 ViVO X9 $2399 OPPO R9 $2499
Markdown扩展语法
数学公式
使用MathJax渲染LaTex 数学公式,详见math.stackexchange.com.
行内公式,数学公式为:
$\Gamma(n) = (n-1)!\quad\forall n\in\mathbb N$
效果:
Γ(n)=(n−1)!∀n∈N
块级公式:
$$ x = \dfrac{-b \pm \sqrt{b^2 - 4ac}}{2a} $$
效果:
x=−b±b2−4ac−−−−−−−√2a
更多LaTex语法请参考 LaTex.
UML图
可以渲染序列图:
```sequence 张三->李四: 嘿,小四儿, 写博客了没? Note right of 李四: 李四愣了一下,说: 李四-->张三: 忙得吐血,哪有时间写。 ```
序列图效果:
流程图:
```flow st=>start: 开始 e=>end: 结束 op=>operation: 我的操作 cond=>condition: 确认? st->op->cond cond(yes)->e cond(no)->op ```
流程图效果:
- 关于 序列图 语法,参考 js-sequence-diagrams
- 关于 流程图 语法,参考 flowchart.js
目录
用 [TOC]
来生成目录:
[TOC]
效果:
~完~~~
附文:
什么是Markdown语言
Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成格式丰富的HTML页面。 —— [ 维基百科 ]
Markdowwn优点:
- Markdown简洁,美观,功能实用而丰富
- 代码块高亮
- 图片链接和图片上传
- LaTex*数学公式
- UML序列图和流程图
- 离线写博客
- 导入导出Markdown文件
- 丰富的快捷键
快捷键
- 加粗
Ctrl + B
- 斜体
Ctrl + I
- 引用
Ctrl + Q
- 插入链接
Ctrl + L
- 插入代码
Ctrl + K
- 插入图片
Ctrl + G
- 提升标题
Ctrl + H
- 有序列表
Ctrl + O
- 无序列表
Ctrl + U
- 横线
Ctrl + R
- 撤销
Ctrl + Z
- 重做
Ctrl + Y
离线写博客
即使用户在没有网络的情况下,也可以通过本编辑器离线写博客(直接在曾经使用过的浏览器中输入[write.blog.youkuaiyun.com/mdeditor](http://write.blog.youkuaiyun.com/mdeditor)即可。**Markdown编辑器**使用浏览器离线存储将内容保存在本地。
用户写博客的过程中,内容实时保存在浏览器缓存中,在用户关闭浏览器或者其它异常情况下,内容不会丢失。用户再次打开浏览器时,会显示上次用户正在编辑的没有发表的内容。
博客发表后,本地缓存将被删除。
用户可以选择 <i class="icon-disk"></i> 把正在写的博客保存到服务器草稿箱,即使换浏览器或者清除缓存,内容也不会丢失。
注意:虽然浏览器存储大部分时候都比较可靠,但为了您的数据安全,在联网后,请务必及时发表或者保存到服务器草稿箱。
浏览器兼容
- 目前,本编辑器对Chrome浏览器支持最为完整。建议大家使用较新版本的Chrome。
- IE9以下不支持
- IE9,10,11存在以下问题
- 不支持离线功能
- IE9不支持文件导入导出
- IE10不支持拖拽文件导入