Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式.MarkDown语法简洁明了、学习容易,而且功能比纯文本更强。
README。该文件用来测试和展示书写README的各种markdown语法。GitHub的markdown语法在标准的markdown语法基础上做了扩充,称之为GitHub Flavored Markdown
。简称GFM
,GFM在GitHub上有广泛应用,除了README文件外,issues和wiki均支持markdown语法。
目录
横线
***
、---
、___
可以显示横线效果
标题
#一级标题
##二级标题
###三级标题
####四级标题
#####五级标题
######六级标题
#
与标题之间加空格
文本
普通文本
这是一段普通的文本
单行文本
Hello World!
在一行开头加入1个Tab或者4个空格。
多行文本
语法1
在连续几行的文本开头加入1个Tab或者4个空格。
Hello World
见到你,很高兴
好好学习
语法2
使用一对各三个的反引号:
1 | 爱码吧 |
该语法也可以实现代码高亮,见代码高亮
文字高亮
文字高亮功能能使行内部分文字高亮,使用一对反引号。
语法:
1 | `Android` `攻城狮` |
效果:Android
攻城狮
也适合做一篇文章的tag
换行
直接回车不能换行,
可以在上一行文本后面补两个空格,
这样下一行的文本就换行了。
或者就是在两行文本直接加一个空行。
也能实现换行效果,不过这个行间距有点大。
斜体、粗体、删除线
语法 | 效果 |
---|---|
*斜体1* |
斜体1 |
_斜体2_ |
斜体2 |
**粗体1** |
粗体1 |
__粗体2__ |
粗体2 |
这是一个 ~~删除线~~ |
这是一个 |
***斜粗体1*** |
斜粗体1 |
___斜粗体2___ |
斜粗体2 |
***~~斜粗体删除线1~~*** |
|
~~***斜粗体删除线2***~~ |
斜体、粗体、删除线可混合使用
图片
基本格式:
1 | ![alt](URL title) |
alt和title即对应HTML中的alt和title属性(都可省略):
- alt表示图片显示失败时的替换文本
- URL表示图片的url地址
- title表示鼠标悬停在图片时的显示文本(注意这里要加引号)
# | 语法 | 效果 |
---|---|---|
1 | ![baidu](https://ss0.bdstatic.com/5aV1bjqh_Q23odCf/static/superman/img/logo/bd_logo1_31bdc765.png "百度logo") |
|
2 | ![][tiimor] |
注意例2的写法使用了URL标识符的形式,在链接一节有介绍。
在文末有tiimor的定义:
1 | [tiimor]:http://cdn.tiimor.cn/images/%E6%8F%90%E7%99%BE%E4%B8%87.jpg |
链接
文字超链接
# | 语法 | 效果 |
---|---|---|
1 | [我的博客](http://tiimor.cn "悬停显示") |
我的博客 |
2 | [我的微博][weibo] |
我的微博 |
语法2由两部分组成:
- 第一部分使用两个中括号,[ ]里的标识符,左边是文字:图片显示失败时的替换文本;右边是URL标识符:替代链接地址
- 第二部分标记实际URL。
使用替代URL的方式能达到复用的目的,一般把全文所有的URL变量统一放在文章末尾,这样看起来比较干净。
图片链接
给图片加链接的本质是混合图片显示语法和普通的链接语法。普通的链接中[ ]内部是链接要显示的文本,而图片链接[ ]里面则是要显示的图片。
直接混合两种语法当然可以,但是十分啰嗦,为此我们可以使用URL标识符的形式。
# | 语法 | 效果 |
---|---|---|
1 | [![tiimor]](http://cdn.tiimor.cn/images/%E6%8F%90%E7%99%BE%E4%B8%87.jpg) |
|
2 | [![tiimor]][MarkDown] |
因为图片本身和链接本身都支持URL标识符的形式,所以图片链接也可以很简洁,左边是显示的图片链接地址,右边是跳转链接地址。
注意,此时鼠标悬停时显示的文字是图片的title,而非链接本身的title了。
本文URL变量都放置于文末
锚点
其实呢,每一个标题都是一个锚点,和HTML的锚点(#
)类似,比如我们
语法 | 效果 |
---|---|
[回到顶部](#top) |
回到顶部 |
不过要注意,标题中的英文字母都要转化为小写字母,否则不能跳转,或者使用Html标签, 如:
1 | 目录(#目录) |
列表
无序列表
- 昵称:张益达
- 别名:张大炮
- 英文名:Snake
多级无序列表
- 编程语言
- 开发语言
- Java
- 开发语言
有序列表
一般效果
就是在数字后面加一个点,再加一个空格。不过看起来起来可能不够明显。
面向对象的三个基本特征:
- 封装
- 继承
- 多态
有序列表自动排序
也可以在第一行指定1.
,而接下来的几行用星号*
(或者继续用数字1. )就可以了,它会自动显示成2、3、4……。
面向对象的七大原则:
- 开闭原则
- 里氏转换原则
- 依赖倒转原则
- 接口隔离原则
- 组合/聚合复用原则
- “迪米特”法则
- 单一职责原则
多级有序列表
和无序列表一样,有序列表也有多级结构:
- 这是一级的有序列表,数字1还是1
- 这是二级的有序列表,阿拉伯数字在显示的时候变成了罗马数字
- 这是三级的有序列表,数字在显示的时候变成了英文字母
- 四级的有序列表显示效果,就不再变化了,依旧是英文字母
- 这是三级的有序列表,数字在显示的时候变成了英文字母
- 这是二级的有序列表,阿拉伯数字在显示的时候变成了罗马数字
复选框列表
- 需求分析
- 系统设计
- 详细设计
- 编码
- 测试
- 交付
您可以使用这个功能来标注某个项目各项任务的完成情况。
块引用
常用于引用文本
- 文本摘自《深入理解计算机系统》P27
令人吃惊的是,在哪种字节顺序是合适的这个问题上,人们表现得非常情绪化。实际上术语“little endian”(小端)和“big endian”(大端)出自Jonathan Swift的《格利佛游记》一书,其中交战的两个派别无法就应该从哪一端打开一个半熟的鸡蛋达成一致。因此,争论沦为关于社会政治的争论。只要选择了一种规则并且始终如一的坚持,其实对于哪种字节排序的选择都是任意的。“端”(endian)的起源
以下是Jonathan Swift在1726年关于大小端之争历史的描述:
“……下面我要告诉你的是,Lilliput和Blefuscu这两大强国在过去36个月里一直在苦战。战争开始是由于以下的原因:我们大家都认为,吃鸡蛋前,原始的方法是打破鸡蛋较大的一端,可是当今的皇帝的祖父小时候吃鸡蛋,一次按古法打鸡蛋时碰巧将一个手指弄破了,因此他的父亲,当时的皇帝,就下了一道敕令,命令全体臣民吃鸡蛋时打破较小的一端,违令者重罚。”
块引用有多级结构
数据结构
树
二叉树
平衡二叉树
满二叉树
代码高亮
在三个反引号后面加上编程语言的名字,另起一行开始写代码,最后一行再加上三个反引号。
1 | public static void main(String[]args){} //Java |
1 | int main(int argc, char *argv[]) //C |
1 | echo "hello GitHub" #Bash |
1 | document.getElementById("myH1").innerHTML="Welcome to my Homepage"; //javascipt |
1 | string &operator+(const string& A,const string& B) //cpp |
表格
表头1 | 表头2 |
---|---|
表格单元 | 表格单元 |
表格单元 | 表格单元 |
表头1 | 表头2 |
---|---|
表格单元 | 表格单元 |
表格单元 | 表格单元 |
对齐
表格可以指定对齐方式
左对齐 | 居中 | 右对齐 |
---|---|---|
col 3 is | some wordy text | $1600 |
col 2 is | centered | $12 |
zebra stripes | are neat | $1 |
混合其他语法
表格单元中的内容可以和其他大多数GFM语法配合使用,如:
- 使用普通文本的删除线,斜体等效果
名字 | 描述 |
---|---|
Help | |
Close | Closes a window |
- 表格中嵌入图片(链接)
其实前面介绍图片显示、图片链接的时候为了清晰就是放在在表格中显示的。
图片 | 描述 |
---|---|
提莫 |