Markdown语言详解
MarkDown语言详解
Markdown的设计哲学
Markdown 的实现的目标是「易读易写」。
不过最需要强调的便是它的可读性。一份使用 Markdown 格式撰写的文件应该可以直接以纯文字发布,並且看起來不会像是由许多标签或是格式指令所构成。
Markdown 的语法有个主要的目的:用來作為一种网络內容的写作用语言。
文本约定
在 MWeb 编辑状态下只有用 CMD + 4 或 CMD + R 预览才可以看效果。
Markdown语法
1.1 标题
Markdown 语法:
# 第一级标题 `<h1>`
## 第二级标题 `<h2>`
###### 第六级标题 `<h6>`
效果如下:
1.2 强调
Markdown 语法:
<u>这些文字会生成`<u>`</u> CMD + U的效果
*这些文字会生成`<em>`* CMD + I的效果
**这些文字会生成`<strong>`** CMD + B的效果
__这些文字会生成`<strong>`__ 此种效果暂时在Mweb中没有快捷键
效果如下:
这些文字会生成<u>
这些文字会生成<em>
这些文字会生成<strong>
这些文字会生成<strong>
Mweb中的快捷键为:CMD + U,CMD +I,CMD +B
1.3 换行
Markdown 语法:
<br>
<br/>
<br />
PS:
1.Mweb使用不了常见的四个及以上空格加回车的换行格式
2.使用<br>,<br/>,<br />
换行符时,最好不要与标题连用
(似乎存在>
影响标题标签解析的情况,即使标签在下一行也会有影响)
3.设置里可是选择将换行符设置为<br/>
(但我感觉这没啥用)
2.1 无序列表
Markdown语法:
* 项目一 无序列表 `* + 空格键`
* 项目二
* 项目二的子项目一 无序列表 `TAB + * + 空格键`
* 项目二的子项目二
效果如下:
- 项目一 无序列表
* + 空格键
- 项目二
- 项目二的子项目一 无序列表
TAB + * + 空格键
- 项目二的子项目二
Mweb中的快捷键为:Option + U
2.2 有序列表
Markdown语法为:
1. 项目一 有序列表 `数字 + . + 空格键`
2. 项目二
3. 项目三
1. 项目三的子项目一 有序列表 `TAB + 数字 + . + 空格键`
2. 项目三的子项目二
效果如下:
- 项目一 有序列表
数字 + . + 空格键
- 项目二
- 项目三
- 项目三的子项目一 有序列表
TAB + 数字 + . + 空格键
- 项目三的子项目二
2.3 任务列表
Markdown语法:
- [ ] 任务一 未做任务 `- + 空格 + [ ]`
- [x] 任务二 已做任务 `- + 空格 + [x]`
效果如下:
3.1 图片
Markdown语法:
![GitHub set up](http://upload-images.jianshu.io/upload_images/143920-83507f83487f2483.gif?imageMogr2/auto-orient/strip)
格式: ![](url)
效果如下:
Mweb中的快捷键为:CMD + shift + I,control + shift + I
PS:
1.CMD + shift + I
和control + shift + I
虽然都是引用图片但效果不一样
2.CMD + shift + I
会直接弹出访达页面从文档中选择图片,引用的是本地地址,Markdown依法无法被上传解析
3.control + shift + I
也会弹出界面,但有效地址得是图片的url可以被服务器解析访问
(并可同时设置图片标题)
3.2 链接
Markdown 语法:
email <example@example.com>
[GitHub](http://github.com)
自动生成连接 <http://www.github.com/>
效果如下:
email example@example.com
GitHub
自动生成连接 http://www.github.com/
Mweb中的快捷键为:control + shift + L
PS:
如果是 MWeb 的文档库中的文档,拖放或CMD + Option + I导入非图片时,会生成连接。
3.3 区块引用
Markdown语法:
某某说:
> 第一行引用
> 第二行费用文字
效果如下:
某某说:
第一行引用
第二行费用文字
Mweb中的快捷键为:CMD + Shift + B
3.4行内代码
Markdown 语法:
像这样即可:`<addr>` `code`.
效果如下:
像这样即可:<addr>
code
.
Mweb中的快捷键为:CMD + K
3.5 多行或者一段代码
Markdown 语法:
效果如下:
function fancyAlert(arg) {
if(arg) {
$.facebox{div:'#foo'})
}
}
Mweb中的快捷键为:CMD + shift + K
4.1 顺序图和流程图
Markdown 语法:
张三->李四: 嘿,小四儿, 写博客了没?
Note right of 李四: 李四愣了一下,说:
李四-->张三: 忙得吐血,哪有时间写。
效果如下:
张三->李四: 嘿,小四儿, 写博客了没?
Note right of 李四: 李四愣了一下,说:
李四-->张三: 忙得吐血,哪有时间写。
Markdown 语法:
st=>start: 开始
e=>end: 结束
op=>operation: 我的操作
cond=>condition: 确认?
st->op->cond
cond(yes)->e
cond(no)->op
效果如下:
st=>start: 开始
e=>end: 结束
op=>operation: 我的操作
cond=>condition: 确认?
st->op->cond
cond(yes)->e
cond(no)->op
Mweb中的快捷键为:无,得配合多行代码使用
4.2 脚注
Markdown语法为:
这是一个脚注:[^sample_footnote]
效果如下:
这是一个脚注:[^sample_footnote]
4.3 表格
Markdown语法为:
第一格表头 | 第二格表头
--------- | -------------
内容单元格 第一列第一格 | 内容单元格第二列第一格
内容单元格 第一列第二格 多加文字 | 内容单元格第二列第二格
效果如下:
第一格表头 | 第二格表头 |
---|---|
内容单元格 第一列第一格 | 内容单元格第二列第一格 |
内容单元格 第一列第二格 多加文字 | 内容单元格第二列第二格 |
5.1 删除线
Markdown语法为:
加删除线像这样用: ~~删除这些~~
效果如下:
加删除线像这样用: 删除这些
5.2 分隔线
Markdown语法为:
以下三种方式都能生成分隔线
***
*****
- - -
效果如下:
6.1 MathJax数学公式
Markdown语法为:
行内公式: $\Gamma(n) = (n-1)!\quad\forall n\in\mathbb N$
效果如下:
行内公式: $\Gamma(n) = (n-1)!\quad\forall n\in\mathbb N$
6.2 TOC生成导航目录
Markdown语法为:
[TOC]
效果如下: