Markdown语法学习
目录
Markdown简介
Markdown 是一种轻量级标记语言,它允许人们使用易读易写的纯文本格式编写文档,然后转换成格式丰富的HTML页面。 —— 维基百科
你现在读的这些文字,就是使用简单的符号标识不同的标题,将某些文字标记为粗体或者斜体,创建一个链接.
基本语法
标题
\#号数量标示标题大小, \# 一号标题 \## 二号标题 \### 三号标题 \#### 四号标题 \##### 五号标题 \###### 六号标题
展示出来的样式
一号标题
二号标题
三号标题
四号标题
五号标题
六号标题
分隔线
通过利用分隔线可以使内容保持距离,使阅读者更容易阅读。
语法为***
注意:使用***,或---(三个减号),或___(三个下划线),均能实现此效果。
效果为下面这货
强调
使用*加粗强调即可实现为包含内容强调的效果
效果为加粗强调*
使用*斜体强调即可实现为包含内容强调的效果
效果为斜体强调*
链接
语法[百度] (www.baidu.com)以此实现起链接的效果
效果为百度
另外链接部分可以改为文章内的标题,实现文内的锚点链接
语法[基本语法] (#基本语法)
效果为基本语法
图片
语法与链接很像,不过前面要加上一个!
语法! [图片名] (图片链接)
注意有的Markdown不支持本地文件上传,需要图片有网络地址,不过「简书」上支持截图直接上传和拖动直接上传,很是方便。
列表
列表分有序列表和无序列表
有序的很简单啦
\1. 有序1
\2. 有序2
效果为
- 有序1
- 有序2
而无序的语法为
\ - 无序
\ * 无序
\ +无序
注意:使用-,*,+都可以实现无序的排列,且没有先后顺序之分。但无序有一种包含的关系,在Markdown的语法里最高级的无序是实体黑心圆,次一级是空心圆,再次一次是实体正方形。
另外有序列表和无序列表中间需要分隔,不然会出现一些排版上的错误,大家可以动手体验一下就明白我说的是什么意思啦。
正常效果展示
- 无序
- 无序
- 无序
- 无序
表格
表格的语法在基本语法里麻烦一些,不过据粥粥实际使用来说,用个两三回就可以熟练掌握了,这里也会介绍的尽量仔细,方便其他读者查看。
语法:
第一栏|表头1|表头2|表头3|
第二栏|----|------|------| 注意:必须有第二栏\竖线的内容列表才能显示出来,如我们添加以下表格信息。
| 项目 | 价格 | 数量 |
| :--- | -----:| :---: |
| 电脑 |¥5600 | 5 |
| 手机 |¥4300 | 12 |
| 冰箱 |¥3100 | 234 |
效果如下
项目 | 价格 | 数量 |
---|---|---|
电脑 | ¥5600 | 5 |
手机 | ¥4300 | 12 |
iPad | ¥3100 | 234 |
补充:大家可能注意到第二栏中的\:,这货就是用来做对齐用的,语法如下:
左对齐::----
右对齐:----:
居中对齐::----:
大家在实际使用中试一两次很容易就明了啦。
引用
语法为>引用内容
嵌套的语法为>>引用也可以嵌套
效果为
引用内容
引用也可以嵌套呀
代码块
下面就是一堆代码
若是一行的话,可以用`代码内容`
效果如
代码内容
若是太多的话,直接```代码块内容```
效果如下
@requires_authorization
def somefunc(param1='', param2=0):
'''A docstring'''
if param1 > param2: # interesting
print 'Greater'
return (param2 - param1 + 1) or None
class SomeClass:
pass
>>> message = '''interpreter
... prompt'''
扩展语法
复选框
使用 - [ ]
和 - [x]
语法可以创建复选框,实现 todo-list 等功能。效果如:
- [x] 已完成事项
- [ ] 待办事项1
- [ ] 待办事项2
LaTeX 公式
可以创建行内公式,例如 。或者块级公式:
效果如
流程图
流程图和时序属于Markdown中的扩展语法,因此在某些仅支持基本语法编辑器的页面中可能无法显示效果,大家可以换其他的试试,不过太嫌麻烦的话,用其他更专业的流程图工具会更好表现一些,毕竟Md更适用于标记文本信息,如果想查看实际效果,可以复制下面代码到马克飞象的在线编辑器中试一下。
这里主要补充一些粥粥搜集来的知识。
st=>start: Start|past:>http://www.google.com[]
e=>end: End:>http://www.google.com
op1=>operation: My Operation|past
op2=>operation: Stuff|current
sub1=>subroutine: My Subroutine|invalid
cond=>condition: Yes
or No?|approved:>http://www.baidu.com
c2=>condition: Good idea|rejected
io=>inputoutput: catch something...|request
st->op1(right)->cond
cond(yes, right)->c2
cond(no)->sub1(left)->op1
c2(yes)->io->e
c2(no)->op2->e
流程图语法及解释
语法如下
flow
st=>start: Start|past:>http://www.google.com[blank]
e=>end: End:>http://www.google.com
op1=>operation: My Operation|past
op2=>operation: Stuff|current
sub1=>subroutine: My Subroutine|invalid
cond=>condition: Yes
or No?|approved:>http://www.baidu.com
c2=>condition: Good idea|rejected
io=>inputoutput: catch something...|request
st->op1(right)->cond
cond(yes, right)->c2
cond(no)->sub1(left)->op1
c2(yes)->io->e
c2(no)->op2->e
流程图的语法大体分为两面,第一段用来定义元素,第二段用来连接元素
如tag=>type: content:>url
-
定义元素
tag是一个标签,在第二段连接元素时用
type是这个标签的类型,常见的类型有- start
- end
- operation
- subroutine
- condition
-inputoutput
condition就是流程图的框里要写的内容,中英文均可,但是type后的冒号和文本间一定要有个空格,不然会出问题,url指向一个连接,与框框中的文本绑定。
连接元素
直接用->连接两个元素,condition有yes和no两个分支,因此要写成cond(yes) cond(no)
时序图:
```sequence
Alice->Bob: Hello Bob, how are you?
Note right of Bob: Bob thinks
Bob-->Alice: I am fine, thanks!
效果如下
Alice->Bob: Hello Bob, how are you?
Note right of Bob: Bob thinks
Bob-->Alice: I am fine, thanks!