【Markdown】github的Markdown语法(GFM)

README

该文件用来测试和展示书写README的各种markdown语法。GitHub的markdown语法在标准的markdown语法基础上做了扩充,称之为GitHub Flavored Markdown。简称GFM,GFM在GitHub上有广泛应用,除了README文件外,issues和wiki均支持markdown语法。



目录

横线


***、—、___可以显示横线效果




标题

# 一级标题
## 二级标题
### 三级标题
#### 四级标题
##### 五级标题
###### 六级标题

一级标题

二级标题

三级标题

四级标题
五级标题
六级标题

文本

普通文本

这是一段普通的文本

单行文本

	Hello,大家好,我是果冻虾仁。
Hello,大家好,我是果冻虾仁。

在一行开头加入1个Tab或者4个空格。

文本块

语法1

在连续几行的文本开头加入1个Tab或者4个空格。

    欢迎到访
    很高兴见到您
    祝您,早上好,中午好,下午好,晚安
欢迎到访
很高兴见到您
祝您,早上好,中午好,下午好,晚安
语法2

使用一对各三个的反引号:

.```.
欢迎到访
我是C++码农
你可以在知乎、CSDN、简书搜索【果冻虾仁】找到我
.```.
欢迎到访
我是C++码农
你可以在知乎、CSDN、简书搜索【果冻虾仁】找到我

该语法也可以实现代码高亮,见代码高亮

文字高亮

文字高亮功能能使行内部分文字高亮,使用一对反引号。
语法:

`linux` `网络编程` `socket` `epoll` 

效果:linux 网络编程 socket epoll

也适合做一篇文章的tag

换行

直接回车不能换行,
可以在上一行文本后面补两个空格,
这样下一行的文本就换行了。

或者就是在两行文本直接加一个空行。

斜体、粗体、删除线
语法效果
*斜体1*斜体1
_斜体2_斜体2
**粗体1**粗体1
__粗体2__粗体2
这是一个 ~~删除线~~这是一个 删除线
***斜粗体1***斜粗体1
___斜粗体2___斜粗体2
***~~斜粗体删除线1~~***斜粗体删除线1
~~***斜粗体删除线2***~~斜粗体删除线2
斜体、粗体、删除线可混合使用

图片

基本格式:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s7HtfUVU-1610156768611)(URL title)]

alt和title即对应HTML中的alt和title属性(都可省略):

  • alt表示图片显示失败时的替换文本
  • title表示鼠标悬停在图片时的显示文本(注意这里要加引号)

URL即图片的url地址,如果引用本仓库中的图片,直接使用相对路径就可了,如果引用其他github仓库中的图片要注意格式,即:仓库地址/raw/分支名/图片路径,如:

https://github.com/guodongxiaren/ImageCache/raw/master/Logo/foryou.gif
#语法效果
1[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tE9YheOO-1572778970925)(http://www.baidu.com/img/bdlogo.gif "百度logo")][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-burY3Tag-1572778970926)(http://www.baidu.com/img/bdlogo.gif “百度logo”)]
2![][foryou]![][foryou]

注意例2的写法使用了URL标识符的形式,在链接一节有介绍。

在文末有foryou的定义:
https://github.com/guodongxiaren/ImageCache/raw/master/Logo/foryou.gif

链接


链接外部URL

#语法效果
1[我的博客](http://blog.csdn.net/guodongxiaren "悬停显示")我的博客
2[我的知乎][zhihu][我的知乎][zhihu]

语法2由两部分组成:

  • 第一部分使用两个中括号,[ ]里的标识符(本例中zhihu),可以是数字,字母等的组合,标识符上下对应就行了(姑且称之为URL标识符
  • 第二部分标记实际URL。

使用URL标识符能达到复用的目的,一般把全文所有的URL标识符统一放在文章末尾,这样看起来比较干净。

URL标识符是我起的名字,不知道是否准确。囧。。

链接本仓库里的URL

语法效果
[我的简介](/example/profile.md)我的简介
[example](./example)example

图片链接

给图片加链接的本质是混合图片显示语法和普通的链接语法。普通的链接中[ ]内部是链接要显示的文本,而图片链接[ ]里面则是要显示的图片。
直接混合两种语法当然可以,但是十分啰嗦,为此我们可以使用URL标识符的形式。

#语法效果
1[[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-W7f7toxM-1572778970926)(http://weibo.com/linpiaochen)][[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uWRNpDFQ-1572778970927)(http://weibo.com/linpiaochen)]
2[[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VOkcbZ3W-1572778970927)(/img/zhihu.png "我的知乎,欢迎关注")]][zhihu][[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dbFZhQq5-1572778970927)(/img/zhihu.png “我的知乎,欢迎关注”)]][zhihu]
3[![csdn-logo]][csdn][![csdn-logo]][csdn]

因为图片本身和链接本身都支持URL标识符的形式,所以图片链接也可以很简洁(见例3)。
注意,此时鼠标悬停时显示的文字是图片的title,而非链接本身的title了。

本文URL标识符都放置于文末

锚点

其实呢,每一个标题都是一个锚点,和HTML的锚点(#)类似,比如我们

语法效果
[回到顶部](#readme)回到顶部

不过要注意,标题中的英文字母都被转化为小写字母了。

以前GitHub对中文支持的不好,所以中文标题不能正确识别为锚点,但是现在已经没问题啦!

列表

无序列表

语法
* 昵称:果冻虾仁
- 别名:隔壁老王
+ 英文名:Jelly
效果
  • 昵称:果冻虾仁
  • 别名:隔壁老王
  • 英文名:Jelly

多级无序列表

语法
* 编程语言
    * 脚本语言
        * Python
效果
  • 编程语言
    • 脚本语言
      • Python

一级有序列表

语法

就是在数字后面加一个点,再加一个空格。不过看起来起来可能不够明显。

面向对象的三个基本特征:

1. 封装
2. 继承
3. 多态
效果

面向对象的三个基本特征:

  1. 封装
  2. 继承
  3. 多态

多级有序列表

和无序列表一样,有序列表也有多级结构。

语法
1. 这是一级的有序列表,数字1还是1
   1. 这是二级的有序列表,阿拉伯数字在显示的时候变成了罗马数字
      1. 这是三级的有序列表,数字在显示的时候变成了英文字母

(标准的markdown是以上规则但GFM不会)

效果
  1. 这是一级的有序列表,数字1还是1
    1. 这是二级的有序列表,阿拉伯数字在显示的时候变成了罗马数字
      1. 这是三级的有序列表,数字在显示的时候变成了英文字母

复选框列表

语法
- [x] 需求分析
- [x] 系统设计
- [x] 详细设计
- [ ] 编码
- [ ] 测试
- [ ] 交付
效果
  • 需求分析
  • 系统设计
  • 详细设计
  • 编码
  • 测试
  • 交付

您可以使用这个功能来标注某个项目各项任务的完成情况。

Tip:

在GitHub的issue中使用该语法是可以实时点击复选框来勾选或解除勾选的,而无需修改issue原文。

块引用

常用于引用文本

文本摘自《深入理解计算机系统》P27

令人吃惊的是,在哪种字节顺序是合适的这个问题上,人们表现得非常情绪化。实际上术语“little endian”(小端)和“big endian”(大端)出自Jonathan Swift的《格利佛游记》一书,其中交战的两个派别无法就应该从哪一端打开一个半熟的鸡蛋达成一致。因此,争论沦为关于社会政治的争论。只要选择了一种规则并且始终如一的坚持,其实对于哪种字节排序的选择都是任意的。

“端”(endian)的起源
以下是Jonathan Swift在1726年关于大小端之争历史的描述:
“……下面我要告诉你的是,Lilliput和Blefuscu这两大强国在过去36个月里一直在苦战。战争开始是由于以下的原因:我们大家都认为,吃鸡蛋前,原始的方法是打破鸡蛋较大的一端,可是当今的皇帝的祖父小时候吃鸡蛋,一次按古法打鸡蛋时碰巧将一个手指弄破了,因此他的父亲,当时的皇帝,就下了一道敕令,命令全体臣民吃鸡蛋时打破较小的一端,违令者重罚。”

块引用有多级结构

语法
> 数据结构
>> 树
>>> 二叉树
>>>> 平衡二叉树
>>>>> 满二叉树
效果

数据结构

二叉树

平衡二叉树

满二叉树

代码高亮

语法

在三个反引号后面加上编程语言的名字,另起一行开始写代码,最后一行再加上三个反引号。

效果

public static void main(String[]args){} //Java
int main(int argc, char *argv[]) //C
echo "hello GitHub" #Bash
document.getElementById("myH1").innerHTML="Welcome to my Homepage"; //javascipt
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 |

效果

左对齐居中右对齐
col 3 issome wordy text$1600
col 2 iscentered$12
zebra stripesare neat$1

混合其他语法

表格单元中的内容可以和其他大多数GFM语法配合使用,如:

使用普通文本的删除线,斜体等效果
| 名字 | 描述 |
| ------------- | ----------- |
| Help      | ~~Display the~~ help window.|
| Close     | _Closes_ a window     |

效果

名字描述
HelpDisplay the help window.
CloseCloses a window
表格中嵌入图片(链接)

其实前面介绍图片显示、图片链接的时候为了清晰就是放在在表格中显示的。

效果
| 图片 | 描述 |
| ---- | ---- |
|![baidu][baidu-logo] | 百度|

效果

图片描述
![baidu][baidu-logo]百度

表情

Github的Markdown语法支持添加emoji表情,输入不同的符号码(两个冒号包围的字符)可以显示出不同的表情。

比如:blush:,可以显示😊。

具体每一个表情的符号码,可以查询GitHub的官方网页http://www.emoji-cheat-sheet.com

但是这个网页每次都打开奇慢。。所以我整理到了本repo中,大家可以直接在此查看emoji

diff语法

版本控制的系统中都少不了diff的功能,即展示一个文件内容的增加与删除。
GFM中可以显示的展示diff效果。使用绿色表示新增,红色表示删除。

语法

其语法与代码高亮类似,只是在三个反引号后面写diff,
并且其内容中,以 +开头表示新增,-开头表示删除。

效果
+ 鸟宿池边树,僧敲月下门
- 鸟宿池边树,僧推月下门

详细教程: https://blog.csdn.net/afei__/article/details/80717153

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

墩墩分墩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值