基礎寫作和語法格式
本篇文章的內容來源於Github的基礎寫作幫助.如果在觀看時有什么問題,可以直接查閱源文件。另外需要說明的是Git對Markdown的支持增加了一些擴展功能,因此在Git上可以渲染的Markdown語法並不一定在僅支持標准Markdown語法的平台上運行。
本文后續還有對GitHub上Markdown語法的高級應用的介紹。
標題
Markdown中標題如果想定義一個標題,可以在前面加上#(或者用#將標題括起來)。1-6個#分別表示1-6級標題。有的編輯器需要在#和正文之間加一個空格(Atom),有的編譯器不用(MarkdownPad),為了保持同一建議都加上空格。
# 標題一
#標題一#
## 標題二
顯示結果:
標題一
標題一#
標題二
文本樣式
Markdown支持4中文本樣式,分別是:加粗、斜體、刪除線和加粗且斜體。
樣式 | 關鍵字 | 快捷鍵 | 樣例 | 輸出 |
---|---|---|---|---|
加粗 | ** ** 或者__ __ |
command/control+b | **加粗文本** |
加粗文本 |
斜體 | * * 或者_ _ |
command/control+i | _斜體文本_ |
斜體文本 |
刪除線 | ~~ ~~ |
無 | ~~刪除線~~ |
|
加粗且斜體 | ** **和_ _ |
無 | **這個是:_加粗且斜體_** |
_這個是_加粗且斜體 |
這篇隨筆也是用Markdown寫的,預覽了一下發現博客園不支持加粗且斜體渲染。於是乎我截了一張我用Atom渲染后的結果
表中的快捷鍵是幾乎所有編輯器都支持的,“無”是沒有統一支持的要求,也許有的編輯器支持。command是mac上的鍵。
引用文本
引用文本的關鍵字是>。
下面是一個引用:
>大家好!我是一個引用。
輸出結果:
下面是一個引用:
大家好!我是一個引用
引用代碼
引用代碼有兩種形式,一種是在文本中引入一個代碼:使用一個倒引號`括起來;另一種是插入一段代碼:使用三個倒引號```括起來(非標准Markdown語法,Atom中支持MarkdownPad中不支持)。
我需要在文中插入快捷鍵`ctrl+v`.
結果:
我需要在文中插入快捷鍵ctrl+v
.
我需要引用一段代碼:
``` c++
int a = 1;
int b = 2;
int c = a+b;
```
結果:
我需要引用一段代碼:
int a = 1;
int b = 2;
int c = a+b;
上面可以直接在三個倒引號后面加入引用代碼的語言類型。編輯器會對應的進行渲染。當然我們也可以直接使用一個tab或四個空格來表示我要插入一段代碼(Atom中是2個tab)。
int a = 1;
int b = 2;
int c = a+b;
結果:
int a = 1;
int b = 2;
int c = a+b;
鏈接
Git編譯器關於鏈接的使用加入了較多的擴展。這里僅介紹標准Markdown語法中的行內鏈接和參考鏈接。
下面是行內鏈接示例:
[鏈接到百度](https://www.baidu.com "百度")
結果:
下面是一個參考鏈接的示例:
[鏈接到百度][1]
[鏈接到Google][2]
[還是鏈接到百度][1]
[1]:https://www.baidu.com
[2]:https://www.google.com
結果:
參考鏈接中的標號1,2不僅僅可以是數字,也可以是字母或它們的組合。
同時鏈接也支持相對路徑,./表示當前目錄,../表示前一級目錄。這里也建議在編寫文檔時,不同文檔之間的關聯采用相對路徑的形式。
列表
我們可以使用*,+,-或者數字作為列表的關鍵字。同時列表也支持嵌套的形式。
- 主列表1
- 主列表2
1. 次列表1
2. 次列表2
+ 主列表3
結果:
- 主列表1
- 主列表2
- 次列表1
- 次列表2
- 主列表3
任務列表
任務列表是Git對標准Markdown語法的擴展,並不是標准Markdown語法。因此MarkdownPad不會對該語法進行渲染。但是使用Atom就會對該語法進行渲染。
- [x] 任務列表1
- [ ] 任務列表2
- [ ] 任務列表3
結果:
- [x] 任務列表1
- [ ] 任務列表2
- [ ] 任務列表3
使用表情
Git中的Markdown語法擴展中包括了一些表情包。這個表情包語法依然可以通過Atom進行渲染。由於不是標准的Markdown語法不能通過MarkdownPad渲染。
表情一::+1:,表情二::o:
表情一:👍,表情二:⭕️
同樣博客園對表情包的渲染也支持的不太好,有的不支持,上面的兩個表情支持但效果也不太好。我這里截取了Atom中渲染后的結果。Atom雖然有一些bug,但是功能還是比較強大的,添加合適的插件公式都能渲染。但是在輕量級標記語言中加入太復雜的元素,又違背了其設計的初衷。並不是擴展的功能越多越好。輕量級標記語言的定位就是快速,其次才是功能多,不然用HTML得了。這個話題扯得有點遠了~~。
更多表情可以查看表情大全。
忽略Markdown關鍵字
和C語言printf函數一樣,如果我們不想讓某個字符轉換成Markdown關鍵字,可以在前面加上\ .比如我們想輸入兩個*,就可以用:
\*\*取消Markdown關鍵字
輸出結果:
**取消Markdown關鍵字