Markdown使用筆記

本文的實現編輯器是MarkdownPad2

本文主要的參考文章鏈接如下所示:

簡介與說明

Markdown 語法的目標是:成爲一種適用於網絡的書寫語言。

Markdown 不是想要取代 HTML,甚至也沒有要和它相近,它的語法種類很少,只對應 HTML 標記的一小部分。Markdown 的理念是,能讓文檔更容易讀、寫和隨意改。

不在Markdown涵蓋範圍之內的標籤,都可以直接在文檔裏面用 HTML 撰寫。要制約的只有一些HTML區塊元素(比如<div>、<table>、<pre>、<p>等標籤),必須在前後加上空行與其它內容區隔開,還要求它們的開始標籤與結尾標籤不能用製表符或空格來縮進。

不同的編輯工具可能會在細節處有不同的實現,另外推薦在線的markdown編輯器Dillinger

本文會一直處於不斷更新完善的過程中

Markdown語法

段落和換行

Markdown普通段落是由一個或多個連續的文本行組成,段落的前後要有至少一個的空行。普通段落不應該用空格或製表符來縮進。

「由一個或多個連續的文本行組成」這句話其實在暗示Markdown允許段落內的強迫換行(插入換行符)。在需要換行的地方插入兩個空格再回車,即可實現換行

標題

Markdown支持兩種標題的語法,類 Setext 和類 atx 形式,推薦使用類 Atx 形式。

類Atx形式則是在行首插入1到6個 # 符號,對應着標題1~6階,使用例程如下:

#第一階標題      或者       #第一階標題#
##第二階標題     或者       ##第二階標題##

可以選擇性地「閉合」類atx樣式的標題,當然這純粹只是出於美觀考慮,若是覺得這樣看起來比較舒適,就可以在行尾也加上 # 符號,而行尾的 # 數量也不必和開頭一致(行首的 # 字符數量決定標題的階數)

區塊引用

Markdown標記區塊引用是使用 > 符號的引用方式。在Markdown文件中建立一個區塊引用,就需要自己先斷好行,然後在每行的最前面加上 > 符號。

> This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
> consectetuer adipiscing elit. Aliquam hendrerit mi posuere lectus.
> Vestibulum enim wisi, viverra nec, fringilla in, laoreet vitae, risus.
> 
> Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse
> id sem consectetuer libero luctus adipiscing.

區塊引用可以嵌套(即引用內的引用),只要根據層次加上不同數量的 > 符號。

> This is the first level of quoting.
>
> > This is nested blockquote.
>
> Back to the first level.

引用的區塊內也可以使用其他的 Markdown 語法,包括標題、列表、代碼區塊等。

> ##這是標題
> 
> 1.   這是第一行列表項
> 2.   這是第二行列表項
> 
> 給出一些例子代碼
> 
>     return shell_exec("echo $input | $markdown_script");

列表

Markdown支持有序列表和無序列表。

無序列表使用星號*、加號+或是減號-作爲列表標記。

- Red
- Green     或者是將減號換成加號、星號
- Blue

有序列表則使用數字緊接一個英文句點(注意英文據點)。

1. Bird
2. McHale
3. Parish

列表條目的標記通常是放在最左邊,但其實也可以縮進最多3個空格,而條目標記的後面則一定要接着至少一個空格或製表符

列表條目可以包含多個段落,每個條目下的段落都必須縮進4個空格或是1個製表符。新的段落在縮進一個製表符的基礎上,還需要與前一段落間隔一個空行。

1. 第一條目的第一段

    新段落要縮進一個製表符,並與前一段落間隔一個空行

2. 第二條目的第一段

如果想要在列表條目內放進區塊引用,那 > 符號就需要縮進4個空格或是1個製表符。

* A list item with a blockquote:
    > This is a blockquote.
    > 
    > inside a list item.
* B other list item

如果想要在列表條目內放進代碼區塊,該代碼區塊就需要縮進兩次,也就是8個空格或是2個製表符。在MarkdownPad2編輯器中還另外要求代碼區塊與列表條目之間間隔一個空行。

* A list item with a blockquote

        <code Block1> 
        <code Block2>
* B other list item

代碼區塊

和程序相關的寫作或是標籤語言原始碼通常會有已經排版好的代碼區塊,通常這些區塊我們並不希望它以一般段落的方式去排版,而是照原來的樣子顯示,Markdown會用<pre><code>標籤來把代碼區塊包括起來。

要在Markdown中建立代碼區塊很簡單,只要簡單地縮進4個空格或是1個製表符就可以實現。要求代碼區塊與普通段落之間間隔一個空行

Here is an example of C:

    int main(int argc, char* args[])
    {
        return 0;
    }

某個代碼區塊會一直持續到沒有縮進的那一行(或是文件結尾)。

代碼區塊中,一般的Markdown語法符號不會被轉換(例如[]便只是[]而已),這樣就可以很容易地以 Markdown語法撰寫Markdown語法相關的文件。

行內代碼

如果要標記小段的行內代碼,你可以用反引號`把它包圍起來。

Use the `printf()` function.

如果要在代碼區段內插入反引號,可以用多個反引號來開啓和結束代碼區段。

``There is a literal backtick (`) here.``

代碼區段的起始和結束端都可以放入一個空格,起始端後面一個,結束端前面一個,這樣就可以在代碼區段的一開始就插入反引號

A single backtick in a code span: `` ` ``  
A backtick-delimited string in a code span: `` `foo` ``

分割線

在一行中用三個以上的星號、減號、下劃線來建立一條分割線,行內不能有其他東西。這些符號之間不能有其他內容,但是可以插入空格。

***
---
___

鏈接

Markdown支持兩種形式的鏈接語法:行內式和參考式兩種形式。

要建立行內式的鏈接,鏈接文字需要用方括號[]來標記,只要在方括號後面緊接着圓括號並插入網址鏈接即可。如果還想要加上鍊接的title文字,只要在網址後面,用雙引號把title文字包起來即可。

點擊如下鏈接即可轉到[百度](https://www.baidu.com/ "百度首頁")

登錄[Google](http://www.google.com.hk/ "Google home")請點擊

如果是想要鏈接到本地主機的資源,可以使用相對路徑

想看[我的照片](/about/my.img)嗎?

參考式的鏈接是在鏈接文字的方括號後面再接上另一個方括號,然後在第二個方括號裏面填入用以辨識鏈接的標記。

最後在文件的任意處,可以把這個標記的鏈接內容定義出來。鏈接內容定義的形式爲:

  • 方括號(前面可以選擇性地加上至多三個空格來縮進),裏面輸入鏈接辨識標記(鏈接辨識標記可以有字母、數字、空白和標點符號,但是並不區分大小寫)
  • 接着一個冒號
  • 接着一個以上的空格或製表符
  • 接着鏈接的網址
  • 選擇性地接着title內容,可以用單引號、雙引號或是括弧包含

參考式鏈接的使用例程如下:

點擊如下鏈接即可轉到[百度][1]  
登錄[Google][2]請點擊

[1]: https://www.baidu.com/ "百度首頁"  
[2]: http://www.google.com.hk/ "Google home"

使用Markdown的參考式鏈接,可以讓文件更像是瀏覽器最後產生的結果,讓你可以把一些標記相關的元數據移到段落文字之外,就可以增加鏈接而不讓文章的閱讀感覺被打斷。

隱式鏈接標記讓你可以省略指定鏈接標記,在這種情形下,鏈接標記會視爲等同於鏈接文字。

點擊如下鏈接即可轉到[百度]   
登錄[Google]請點擊

[百度]: https://www.baidu.com/ "百度首頁"  
[Google]: http://www.google.com.hk/ "Google home"   

強調

Markdown使用星號 * 和下劃線 _ 作爲標記強調字詞的符號,被 *_ 包圍的字詞會被轉成用 <em> 標籤包圍的斜體顯示,用兩個*_ 包起來的話,則會被轉成<strong>包圍的粗體顯示。

*斜體顯示*  
_斜體顯示_  
**粗體顯示**  
__粗體顯示__
***斜體+粗體顯示***  
___斜體+粗體顯示___

如果在 *_ 的兩邊都有空白的話,它們就只會被當成普通的符號。
如果要在文字前後直接插入普通的星號或底線,可以用反斜線。

圖片

Markdown使用一種和鏈接很相似的語法來標記圖片,同樣也允許兩種樣式:行內式和參考式。

圖片的行內式語法詳細敘述如下:

  • 一個驚歎號!
  • 接着一個方括號,裏面放上圖片的替代文字
  • 接着一個普通括號,裏面放上圖片的網址
  • 最後還可以選擇性地用引號包住並加上title文字

行內式圖片的使用例程如下:

![Alt text](/path/to/img.jpg "Optional title")

參考式圖片的使用例程如下:

![Alt text][id]  
[id]: url/to/image  "Optional title attribute"

自動鏈接

Markdown支持以比較簡短的自動鏈接形式來處理網址和電子郵件信箱,只要是用尖括號包起來,Markdown就會自動把它轉成鏈接。

<https://www.baidu.com/>  
<[email protected]>

反斜槓

Markdown可以利用反斜槓來插入一些在語法上有其它特殊意義的符號。Markdown支持在以下這些符號的前面加上反斜槓來幫助插入普通的符號:

  • \ 反斜線
  • ` 反引號
  • * 星號
  • _ 下劃線
  • {} 花括號
  • [] 方括號
  • () 括弧
  • # 井字號
  • + 加號
  • - 減號
  • . 英文句點
  • ! 驚歎號

Markdown Extra 語法

相關說明

參考文檔如下所示:

對於Markdown Extra的語法實現而言,這些語法是原生的Markdown語法的擴展。這些擴展語法的實現在不同的Markdown編輯器中可能會不同。

想要在MarkdownPad2中使用Extra語法,需要將其升級爲Pro版本。然後還需要對軟件進行設置:Tools->Options->Markdown->Markdown Processor

表格

Markdown Extra對於表格有自己的語法。

  • 第一行是列標題
  • 第二行是強制存在的分隔線,位於列標題和內容之間
  • 其後每一行都是表格的內容
  • 每一列之間通常是由管道符號 | 來分隔

表格基本示例如下:

First Header  | Second Header
------------- | -------------
Content Cell  | Content Cell
Content Cell  | Content Cell

也可以根據自己的喜好在表格每一行的開頭和結尾各加上管道符號。

| First Header  | Second Header |
| ------------- | ------------- |
| Content Cell  | Content Cell  |
| Content Cell  | Content Cell  |

注意:表格的每行至少需要有一個管道符號,才能被Markdown Extra的語法正確解釋。這就意味着想要創建只有一列的表格,需要在開頭或(與)結尾使用管道符號。

可以在分隔行添加冒號來爲每一列指定排列方式。

  • 冒號在分隔行的左邊,表示該列左對齊
  • 冒號在分隔行的右邊,表示該列右對齊
  • 分隔行的左右都有冒號,表示該列居中

設置排列方式的示例如下:

| Item      | Value |
| :-------- | -----:|
| Computer  | $1600 |
| Phone     |   $12 |
| Pipe      |    $1 |

在表格的每個單元格中同樣可以使用前述的Markdown語法。

定義列表

定義列表由條目和該條目的定義構成,其結構類似詞典的條目。

簡單的定義列表由當行的條目、後接冒號以及對應的定義而構成。

Apple
:   Pomaceous fruit of plants of the genus Malus in 
    the family Rosaceae.

Orange
:   The fruit of an evergreen tree of the genus Citrus.
  • 新的條目必須通過空白行來與前麪條目的定義相分隔。
  • 冒號後面必須有至少一個空格或者是有一個製表符。
  • 同一條目可以對應有多個定義。
  • 多個條目可以共用相同的定義。

更多使用示例如下:

Apple
:   Pomaceous fruit of plants of the genus Malus in 
    the family Rosaceae.
:   An American computer company.

Banana
Orange
:   The fruit of an evergreen tree of the genus Citrus.

腳註

腳註通常由兩部分組成:位於右上角的標識、位於文檔末尾的列表中的具體定義。

腳註的使用示例如下:

That's some text with a footnote.[^1]

[^1]: And that's the footnote.

      That's the second paragraph.

方括號中的不一定就是數字,它可以是任意的字符或者字符串。

HTML語法的嵌套

字體設置

設置字體的標籤是<font> 標籤。

<font color=#ff0000 size=3 face="微軟雅黑">文字顏色、大小、字體的設置</font>

背景設置

由於style標籤和標籤的style屬性都被和諧(這讓Markdown雖然有HTML的軀體,卻沒有HTML的靈魂),所以這裏只能是藉助table, tr, td等表格標籤的bgcolor屬性來實現背景色的功能。
<table><tr><td bgcolor=#00FFFF>背景色的設置</td></tr></table>

首行縮進

如果想要安裝中文的書寫習慣,在每段的首行縮進兩個字符,可以在段首添加如下字符:

&#160; &#160; &#160; &#160;書寫正文
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章