README
該文件用來測試和展示書寫README的各種markdown語法。GitHub的markdown語法在標準的markdown語法基礎上做了擴充,稱之為GitHub Flavored Markdown
。簡稱GFM
,GFM在GitHub上有廣泛應用,除了README文件外,issues和wiki均支持markdown語法。
Author | believeszw |
---|---|
765846560@qq.com | |
Github | https://github.com/believeszw |
目錄
- 橫線
- 標題
- 文本
- 普通文本
- 單行文本
- 多行文本
- 文字高亮
- 換行
- 斜體
- 粗體
- 刪除線
- 圖片
- 來源于網絡的圖片
- GitHub倉庫中的圖片
- 鏈接
- 文字超鏈接
- 鏈接外部URL
- 鏈接本倉庫里的URL
- 錨點
- 圖片鏈接
- 文字超鏈接
- 列表
- 無序列表
- 有序列表
- 復選框列表
- 塊引用
- 代碼高亮
- 表格
- 表情
- diff語法
橫線
***、—、___可以顯示橫線效果
標題
一級標題
二級標題
三級標題
四級標題
五級標題
六級標題
文本
普通文本
這是一段普通的文本
單行文本
Hello,大家好,我是果凍蝦仁。
在一行開頭加入1個Tab或者4個空格。
文本塊
語法1
在連續幾行的文本開頭加入1個Tab或者4個空格。
歡迎到訪
很高興見到您
祝您,早上好,中午好,下午好,晚安
語法2
使用一對各三個的反引號:
歡迎到訪
我是C++碼農
你可以在知乎、CSDN、簡書搜索【果凍蝦仁】找到我
該語法也可以實現代碼高亮,見代碼高亮
文字高亮
文字高亮功能能使行內部分文字高亮,使用一對反引號。
語法:
`linux` `網絡編程` `socket` `epoll`
效果:linux
網絡編程
socket
epoll
也適合做一篇文章的tag
換行
直接回車不能換行,
可以在上一行文本后面補兩個空格,
這樣下一行的文本就換行了。
或者就是在兩行文本直接加一個空行。
也能實現換行效果,不過這個行間距有點大。
斜體、粗體、刪除線
語法 | 效果 |
---|---|
*斜體1* | 斜體1 |
_斜體2_ | 斜體2 |
**粗體1** | 粗體1 |
__粗體2__ | 粗體2 |
這是一個 ~~刪除線~~ | 這是一個 |
***斜粗體1*** | 斜粗體1 |
___斜粗體2___ | 斜粗體2 |
***~~斜粗體刪除線1~~*** | |
~~***斜粗體刪除線2***~~ |
斜體、粗體、刪除線可混合使用
圖片
基本格式:

alt和title即對應HTML中的alt和title屬性(都可省略):
- alt表示圖片顯示失敗時的替換文本
- title表示鼠標懸停在圖片時的顯示文本(注意這里要加引號)
URL即圖片的url地址,如果引用本倉庫中的圖片,直接使用相對路徑就可了,如果引用其他github倉庫中的圖片要注意格式,即:倉庫地址/raw/分支名/圖片路徑
,如:
https://github.com/guodongxiaren/ImageCache/raw/master/Logo/foryou.gif
# | 語法 | 效果 |
---|---|---|
1 | [外鏈圖片轉存失敗(img-vEtchDOQ-1566288187751)(http://www.baidu.com/img/bdlogo.gif "百度logo")] | [外鏈圖片轉存失敗(img-JIUVHmnk-1566288187753)(http://www.baidu.com/img/bdlogo.gif “百度logo”)] |
2 | ![][code-past] | ![]() |
注意例2的寫法使用了URL標識符的形式,在鏈接一節有介紹。
在文末有code-past的定義:
[code-past]:https://img-blog.csdnimg.cn/201908060004034.png
鏈接
鏈接外部URL
# | 語法 | 效果 |
---|---|---|
1 | [我的博客](https://blog.csdn.net/believe_s "懸停顯示") | 我的博客 |
語法2由兩部分組成:
- 第一部分使用兩個中括號,[ ]里的標識符(本例中zhihu),可以是數字,字母等的組合,標識符上下對應就行了(姑且稱之為URL標識符)
- 第二部分標記實際URL。
使用URL標識符能達到復用的目的,一般把全文所有的URL標識符統一放在文章末尾,這樣看起來比較干凈。
URL標識符是我起的名字,不知道是否準確。囧。。
鏈接本倉庫里的URL
語法 | 效果 |
---|---|
[README](./README.md) | README |
圖片鏈接
給圖片加鏈接的本質是混合圖片顯示語法和普通的鏈接語法。普通的鏈接中[ ]內部是鏈接要顯示的文本,而圖片鏈接[ ]里面則是要顯示的圖片。
直接混合兩種語法當然可以,但是十分啰嗦,為此我們可以使用URL標識符的形式。
# | 語法 | 效果 |
---|---|---|
1 | [[外鏈圖片轉存失敗(img-3jm1Qz26-1566288187754)(https://www.weibo.com/believeszw)] | [[外鏈圖片轉存失敗(img-pcOhbHDa-1566288187755)(https://www.weibo.com/believeszw)] |
2 | [[外鏈圖片轉存失敗(img-7xvl2fyP-1566288187755)(/img/zhihu.png "我的知乎,歡迎關注")]][zhihu] | [外鏈圖片轉存失敗(img-Ne6Tj9wI-1566288187756)(/img/zhihu.png “我的知乎,歡迎關注”)] |
3 | [![csdn-logo]][csdn] | ![]() |
因為圖片本身和鏈接本身都支持URL標識符的形式,所以圖片鏈接也可以很簡潔(見例3)。
注意,此時鼠標懸停時顯示的文字是圖片的title,而非鏈接本身的title了。
本文URL標識符都放置于文末
錨點
其實呢,每一個標題都是一個錨點,和HTML的錨點(#
)類似,比如我們
語法 | 效果 |
---|---|
[回到頂部](#readme) | 回到頂部 |
不過要注意,標題中的英文字母都被轉化為小寫字母了。
以前GitHub對中文支持的不好,所以中文標題不能正確識別為錨點,但是現在已經沒問題啦!
列表
無序列表
語法
* 昵稱:believe_s
* 英文名:believe
效果
- 昵稱:believe_s
- 英文名:believe
多級無序列表
語法
* 編程語言* 腳本語言* Python
效果
- 編程語言
- 腳本語言
- Python
- 腳本語言
一級有序列表
語法
就是在數字后面加一個點,再加一個空格。不過看起來起來可能不夠明顯。
面向對象的三個基本特征:1. 封裝
2. 繼承
3. 多態
效果
面向對象的三個基本特征:
- 封裝
- 繼承
- 多態
多級有序列表
和無序列表一樣,有序列表也有多級結構。
語法
1. 這是一級的有序列表,數字1還是11. 這是二級的有序列表,阿拉伯數字在顯示的時候變成了羅馬數字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 |
混合其他語法
表格單元中的內容可以和其他大多數GFM語法配合使用,如:
使用普通文本的刪除線,斜體等效果
名字 | 描述 |
---|---|
Help | |
Close | Closes a window |
表格中嵌入圖片(鏈接)
其實前面介紹圖片顯示、圖片鏈接的時候為了清晰就是放在在表格中顯示的。
圖片 | 描述 |
---|---|
![]() | 百度 |
表情
Github的Markdown語法支持添加emoji表情,輸入不同的符號碼(兩個冒號包圍的字符)可以顯示出不同的表情。
比如:blush:
,可以顯示?。
具體每一個表情的符號碼,可以查詢GitHub的官方網頁http://www.emoji-cheat-sheet.com。
但是這個網頁每次都打開奇慢。。所以我整理到了本repo中,大家可以直接在此查看emoji。
diff語法
版本控制的系統中都少不了diff的功能,即展示一個文件內容的增加與刪除。
GFM中可以顯示的展示diff效果。使用綠色表示新增,紅色表示刪除。
語法
其語法與代碼高亮類似,只是在三個反引號后面寫diff,
并且其內容中,可以用 +
開頭表示新增,-
開頭表示刪除。
另外還有有 !
和#
的語法。
效果
+ 人閑桂花落,
- 夜靜春山空。
! 月出驚山鳥,
# 時鳴春澗中。