reStructuredText 是擴展名爲.rst的純文本文件,含義爲"從新構建的文本"",也被簡稱爲:RST或reST;是Python編程語言的Docutils項目的一部分,Python Doc-SIG (Documentation Special Interest Group)。該項目相似於Java的JavaDoc或Perl的POD項目。 Docutils 可以從Python程序中提取註釋和信息,格式化成程序文檔。html
.rst 文件是輕量級標記語言的一種,被設計爲容易閱讀和編寫的純文本,而且能夠藉助Docutils這樣的程序進行文檔處理,也能夠轉換爲HTML或PDF等多種格式,或由Sphinx-Doc這樣的程序轉換爲LaTex、man等更多格式。git
本文語法來自Quick reStructuredTextgithub
因爲格式緣由,以爲這個不是很直觀的話,能夠到個人github上查看。編程
重點、解釋文字編程語言
*重點(emphasis)一般顯示爲斜體* `解釋文字(interpreted text)一般顯示爲斜體`
重點(emphasis)一般顯示爲斜體測試
重點強調ui
**重點強調(strong emphasis)一般顯示爲粗體**
重點強調(strong emphasis)一般顯示爲粗體spa
``行內文本(inline literal)一般顯示爲等寬文本,空格能夠保留,可是換行不能夠。``
行內文本(inline literal)一般顯示爲等寬文本,空格能夠保留,可是換行不能夠。.net
章節頭部由下線(也可有上線)和包含標點的標題 組合建立, 其中下線要至少等於標準文本的長度。設計
能夠表示標題的符號有 =、-、`、:、'、"、~、^、_ 、__*__ 、+、 #、<、> 。
對於相同的符號,有上標是一級標題,沒有上標是二級標題。
標題最多分六級,能夠自由組合使用。
全加上上標或者是全不加上標,使用不一樣的 6 個符號的標題依次排列,則會依次生成的標題爲H1-H6。
========= 一級標題 ========= 二級標題 ========= 一級標題 ^^^^^^^^ 二級標題 --------- 三級標題 >>>>>>>>> 四級標題 ::::::::: 五級標題 ''''''''' 六級標題 """"""""
段落是被空行分割的文字片斷,左側必須對齊(沒有空格,或者有相同多的空格)。
縮進的段落被視爲引文。
符號列表可使用 -、*、+ 來表示。
不一樣的符號結尾須要加上空行,下級列表須要有空格縮進。
- 符號列表1 - 符號列表2 + 二級符號列表1 - 二級符號列表2 * 二級符號列表3 * 符號列表3 + 符號列表4
符號列表1
符號列表2
二級符號列表1
二級符號列表2
二級符號列表3
符號列表3
符號列表4
枚舉列表算即順序(序號)列表,可使用不一樣的枚舉序號來表示列表。
可使用的枚舉有:
阿拉伯數字: 1, 2, 3, ... (無上限)。
大寫字母: A-Z。
小寫字母: a-z。
大寫羅馬數字: I, II, III, IV, ..., MMMMCMXCIX (4999)。
小寫羅馬數字: i, ii, iii, iv, ..., mmmmcmxcix (4999)。
能夠爲序號添加前綴和後綴,下面的是被容許的。
. 後綴: "1.", "A.", "a.", "I.", "i."。
() 包起來: "(1)", "(A)", "(a)", "(I)", "(i)"。
) 後綴: "1)", "A)", "a)", "I)", "i)"。
枚舉列表能夠結合 # 自動生成枚舉序號。
1. 枚舉列表1 #. 枚舉列表2 #. 枚舉列表3 (I) 枚舉列表1 (#) 枚舉列表2 (#) 枚舉列表3 A) 枚舉列表1 #) 枚舉列表2 #) 枚舉列表3
枚舉列表1
枚舉列表2
枚舉列表3
I. 枚舉列表1
II. 枚舉列表2
III. 枚舉列表3
A. 枚舉列表1
B. 枚舉列表2
C. 枚舉列表3
定義列表能夠理解爲解釋列表,即名詞解釋。
條目佔一行,解釋文本要有縮進;多層可根據縮進實現。
定義1 這是定義1的內容 定義2 這是定義2的內容
定義1
這是定義1的內容
定義2
這是定義2的內容
:標題: reStructuredText語法說明 :做者: - Seay - Seay1 - Seay2 :時間: 2016年06月21日 :概述: 這是一篇 關於reStructuredText 語法說明。
標題: reStructuredText語法說明
做者:
Seay
Seay1
Seay2
時間: 2016年06月21日
概述: 這是一篇 關於reStructuredText
語法說明。
選項列表是一個相似兩列的表格,左邊是參數,右邊是描述信息。當參數選項過長時,參數選項和描述信息各佔一行。
選項與參數之間有一個空格,參數選項與描述信息之間至少有兩個空格。
-a command-line option "a" -b file options can have arguments and long descriptions --long options can be long also --input=file long options can also have arguments /V DOS/VMS-style options too
參數選項 | 描述信息 |
---|---|
-a | command-line option "a" |
-b file | options can have arguments and long descriptions |
--long | options can be long also |
--input=file | long options can also have arguments |
/V | DOS/VMS-style options too |
因爲格式問題,這裏只是一個示例,實際上時沒有上面的表頭列和表格豎直線的。
文字塊就是一段文字信息,在須要插入文本塊的段落後面加上 ::,接着一個空行,而後就是文字塊了。
文字塊不能定頂頭寫,要有縮進,結束標誌是,新的一段文本貼開頭,即沒有縮進。
下面是文字塊內容: :: 這是一段文字塊 一樣也是文字塊 仍是文字塊 這是新的一段。
下面是文字塊內容:
這是一段文字塊 一樣也是文字塊 仍是文字塊
這是新的一段。
行塊對於地址、詩句以及無裝飾列表是很是有用的。行塊是以 | 開頭,每個行塊能夠是多段文本。
| 先後各有一個空格。
下面是行塊內容: | 這是一段行塊內容 | 這一樣也是行塊內容 仍是行塊內容 這是新的一段。
下面是行塊內容:
這是一段行塊內容 這一樣也是行塊內容 仍是行塊內容
這是新的一段。
塊引用是經過縮進來實現的,引用塊要在前面的段落基礎上縮進。
一般引用結尾會加上出處(attribution),出處的文字塊開頭是 --、--- 、—,後面加上出處信息。
塊引用可使用空的註釋 .. 分隔上下的塊引用。
注意在新的塊和出處都要添加一個空行。
下面是引用的內容: 「真的猛士,勇於直面慘淡的人生,勇於正視淋漓的鮮血。」 --- 魯迅 .. 「人生的意志和勞動將創造奇蹟般的奇蹟。」 — 涅克拉索
下面是引用的內容:
「真的猛士,勇於直面慘淡的人生,勇於正視淋漓的鮮血。」 —魯迅 「人生的意志和勞動將創造奇蹟般的奇蹟。」 —涅克拉索
文檔測試塊是交互式的Python會話,以 >>> 開始,一個空行結束。
>>> print "This is a doctest block." This is a doctest block.
>>> print "This is a doctest block." This is a doctest block.
reStructuredText提供兩種表格:網格表(Grid Tables),簡單表(Simple Tables)。
網格表中使用的符號有:-、=、|、+。
- 用來分隔行, = 用來分隔表頭和表體行,| 用來分隔列,+ 用來表示行和列相交的節點。
Grid table: +------------+------------+-----------+ | Header 1 | Header 2 | Header 3 | +============+============+===========+ | body row 1 | column 2 | column 3 | +------------+------------+-----------+ | body row 2 | Cells may span columns.| +------------+------------+-----------+ | body row 3 | Cells may | - Cells | +------------+ span rows. | - contain | | body row 4 | | - blocks. | +------------+------------+-----------+
效果請查看:這裏
簡單表相對於網格表,少了 | 和 + 兩個符號,只用 - 和 = 表示。
Simple table: ===== ===== ====== Inputs Output ------------ ------ A B A or B ===== ===== ====== False False False True False True False True True True True True ===== ===== ======
效果請查看:這裏
分隔符就是一條水平的橫線,是由 4 個 - 或者更多組成,須要添加換行。
上面部分 ------------ 下面部分
上面部分
下面部分
介紹各種帶有連接性質的超連接
reStructuredText會自動將網址生成超連接。
https://github.com/SeayXu/
引用/參考(reference),是簡單的形式,只能是一個詞語,引用的文字不能帶有空格。
這篇文章來自個人Github,請參考 reference_。 .. _reference: https://github.com/SeayXu/
引用/參考(reference),行內形式,引用的文字能夠帶有空格或者符號。
這篇文章來自個人Github,請參考 `SeayXu <https://github.com/SeayXu/>`_。
這篇文章來自個人Github,請參考 SeayXu。
更多信息參考 引用文檔_ 這裏是其餘內容 .. _引用文檔: 這是引用部分的內容
更多信息參考 引用文檔
這裏是其餘內容
這是引用部分的內容
詞組(短語)引用/參考(phrase reference),引用的文字能夠帶有空格或者符號,須要使用反引號引發來。
這篇文章參考的是:`Quick reStructuredText`__。 .. __: http://docutils.sourceforge.net/docs/user/rst/quickref.html
這篇文章來自個人Github,請參考 Quick reStructuredText。
間接超連接是基於匿名連接的基礎上的,就是將匿名連接地址換成了外部引用名_。
SeayXu_ 是 `個人 GitHub 用戶名`__。 .. _SeayXu: https://github.com/SeayXu/ __ SeayXu_
小節標題、腳註和引用參考會自動生成超連接地址,使用小節標題、腳註或引用參考名稱做爲超連接名稱就能夠生成隱式連接。
第一節 介紹 =========== 其餘內容... 隱式連接到 `第一節 介紹`_,便可生成超連接。
第一節 介紹
其餘內容...
隱式連接到 第一節 介紹,便可生成超連接。
替換引用就是用定義的指令替換對應的文字或圖片,和內置指令(inline directives)相似。
這是 |logo| github的Logo,個人github用戶名是:|name|。 .. |logo| image:: https://help.github.com/assets/images/site/favicon.ico .. |name| replace:: SeayXu
這是 GitHub的Logo,個人github用戶名是:SeayXu。
腳註引用,有這幾個方式:有手工序號(標記序號123之類)、自動序號(填入#號會自動填充序號)、自動符號(填入*會自動生成符號)。
手工序號能夠和#結合使用,會自動延續手工的序號。
# 表示的方法能夠在後面加上一個名稱,這個名稱就會生成一個連接。
腳註引用一 [1]_ 腳註引用二 [#]_ 腳註引用三 [#連接]_ 腳註引用四 [*]_ 腳註引用五 [*]_ 腳註引用六 [*]_ .. [1] 腳註內容一 .. [2] 腳註內容二 .. [#] 腳註內容三 .. [#連接] 腳註內容四 連接_ .. [*] 腳註內容五 .. [*] 腳註內容六 .. [*] 腳註內容七
腳註引用一 [1]
腳註引用二 [3]
腳註引用三 [4]
腳註引用四 [*]
腳註引用五 [†]
腳註引用六 [‡]
[1] 腳註內容一
[2] 腳註內容二
[3] 腳註內容三
[4] 腳註內容四 連接
[*] 腳註內容五
[†] 腳註內容六
[‡] 腳註內容七
引用參考與上面的腳註有點相似。
引用參考的內容一般放在頁面結尾處,好比 [One]_,Two_ .. [One] 參考引用一 .. [Two] 參考引用二
[One] 參考引用一
[Two] 參考引用二
註釋以 .. 開頭,後面接註釋內容便可,能夠是多行內容,多行時每行開頭要加一個空格。
.. 我是註釋內容 大家看不到我
關於 指令(Directives),在下一篇中專門作語法說明。
若是有不正確的地方,但願你能指出。