reStructuredText 是擴展名為.rst的純文本文件讶踪,含義為"重新構(gòu)建的文本"厨疙,也被簡稱為:RST或reST薇正;是Python編程語言的Docutils項目的一部分洛心,Python Doc-SIG (Documentation Special Interest Group)缴守。該項目類似于Java的JavaDoc或Perl的POD項目葬毫。 Docutils 能夠從Python程序中提取注釋和信息,格式化成程序文檔屡穗。
.rst 文件是輕量級標(biāo)記語言的一種贴捡,被設(shè)計為容易閱讀和編寫的純文本,并且可以借助Docutils這樣的程序進行文檔處理村砂,也可以轉(zhuǎn)換為HTML或PDF等多種格式烂斋,或由Sphinx-Doc這樣的程序轉(zhuǎn)換為LaTex、man等更多格式。
本文語法來自Quick reStructuredText
由于格式原因汛骂,覺得這個不是很直觀的話罕模,可以到我的github上查看。
行內(nèi)樣式
斜體
重點帘瞭、解釋文字
*重點(emphasis)通常顯示為斜體*
`解釋文字(interpreted text)通常顯示為斜體`
重點(emphasis)通常顯示為斜體
粗體
重點強調(diào)
**重點強調(diào)(strong emphasis)通常顯示為粗體**
重點強調(diào)(strong emphasis)通常顯示為粗體
等寬
``行內(nèi)文本(inline literal)通常顯示為等寬文本手销,空格可以保留,但是換行不可以图张。``
行內(nèi)文本(inline literal)通常顯示為等寬文本锋拖,空格可以保留,但是換行不可以祸轮。
章節(jié)標(biāo)題
章節(jié)頭部由下線(也可有上線)和包含標(biāo)點的標(biāo)題 組合創(chuàng)建, 其中下線要至少等于標(biāo)準(zhǔn)文本的長度兽埃。
可以表示標(biāo)題的符號有 =、-适袜、`柄错、:、'苦酱、"售貌、~、^疫萤、_ 颂跨、* 、+扯饶、 #恒削、<、> 尾序。
對于相同的符號钓丰,有上標(biāo)是一級標(biāo)題,沒有上標(biāo)是二級標(biāo)題每币。
標(biāo)題最多分六級携丁,可以自由組合使用。
全加上上標(biāo)或者是全不加上標(biāo)兰怠,使用不同的 6 個符號的標(biāo)題依次排列梦鉴,則會依次生成的標(biāo)題為H1-H6。
=========
一級標(biāo)題
=========
二級標(biāo)題
=========
一級標(biāo)題
^^^^^^^^
二級標(biāo)題
---------
三級標(biāo)題
>>>>>>>>>
四級標(biāo)題
:::::::::
五級標(biāo)題
'''''''''
六級標(biāo)題
""""""""
一級標(biāo)題
二級標(biāo)題
一級標(biāo)題
二級標(biāo)題
三級標(biāo)題
四級標(biāo)題
五級標(biāo)題
六級標(biāo)題
段落
段落是被空行分割的文字片段痕慢,左側(cè)必須對齊(沒有空格尚揣,或者有相同多的空格)。
縮進的段落被視為引文掖举。
列表
符號列表(Bullet Lists)
符號列表可以使用 -快骗、 *、+ 來表示。
不同的符號結(jié)尾需要加上空行方篮,下級列表需要有空格縮進名秀。
- 符號列表1
- 符號列表2
+ 二級符號列表1
- 二級符號列表2
* 二級符號列表3
* 符號列表3
+ 符號列表4
- 符號列表1
- 符號列表2
- 二級符號列表1
- 二級符號列表2
- 二級符號列表3
- 符號列表3
- 符號列表4
枚舉(順序)列表(Enumerated Lists)
枚舉列表算即順序(序號)列表,可以使用不同的枚舉序號來表示列表藕溅。
可以使用的枚舉有:
- 阿拉伯?dāng)?shù)字: 1, 2, 3, ... (無上限)匕得。
- 大寫字母: A-Z。
- 小寫字母: a-z巾表。
- 大寫羅馬數(shù)字: I, II, III, IV, ..., MMMMCMXCIX (4999)汁掠。
- 小寫羅馬數(shù)字: i, ii, iii, iv, ..., mmmmcmxcix (4999)。
可以為序號添加前綴和后綴集币,下面的是被允許的考阱。
. 后綴: "1.", "A.", "a.", "I.", "i."。
() 包起來: "(1)", "(A)", "(a)", "(I)", "(i)"鞠苟。
) 后綴: "1)", "A)", "a)", "I)", "i)"乞榨。
枚舉列表可以結(jié)合 # 自動生成枚舉序號。
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
定義列表(Definition Lists)
定義列表可以理解為解釋列表当娱,即名詞解釋吃既。
條目占一行,解釋文本要有縮進跨细;多層可根據(jù)縮進實現(xiàn)鹦倚。
定義1
這是定義1的內(nèi)容
定義2
這是定義2的內(nèi)容
定義1
這是定義1的內(nèi)容
定義2
這是定義2的內(nèi)容
字段列表(Field Lists)
:標(biāo)題: reStructuredText語法說明
:作者:
- Seay
- Seay1
- Seay2
:時間: 2016年06月21日
:概述: 這是一篇
關(guān)于reStructuredText
語法說明。
標(biāo)題: reStructuredText語法說明
作者:
- Seay
- Seay1
- Seay2
時間: 2016年06月21日
概述: 這是一篇 關(guān)于reStructuredText
語法說明扼鞋。
選項列表(Option Lists)
選項列表是一個類似兩列的表格申鱼,左邊是參數(shù)愤诱,右邊是描述信息云头。當(dāng)參數(shù)選項過長時,參數(shù)選項和描述信息各占一行淫半。
選項與參數(shù)之間有一個空格圣贸,參數(shù)選項與描述信息之間至少有兩個空格灾杰。
-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
參數(shù)選項 | 描述信息 |
---|---|
-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 |
由于格式問題,這里只是一個示例,實際上時沒有上面的表頭列和表格豎直線的秃嗜。
塊(Blocks)
文字塊(Literal Blocks)
文字塊就是一段文字信息,在需要插入文本塊的段落后面加上 ::涛舍,接著一個空行凛俱,然后就是文字塊了。
文字塊不能定頂頭寫牺弄,要有縮進姻几,結(jié)束標(biāo)志是,新的一段文本貼開頭,即沒有縮進蛇捌。
下面是文字塊內(nèi)容:
::
這是一段文字塊
同樣也是文字塊
還是文字塊
這是新的一段抚恒。
下面是文字塊內(nèi)容:
這是一段文字塊
同樣也是文字塊
還是文字塊
這是新的一段。
行塊(Line Blocks)
行塊對于地址络拌、詩句以及無裝飾列表是非常有用的俭驮。行塊是以 | 開頭,每一個行塊可以是多段文本春贸。
| 前后各有一個空格混萝。
下面是行塊內(nèi)容:
| 這是一段行塊內(nèi)容
| 這同樣也是行塊內(nèi)容
還是行塊內(nèi)容
這是新的一段。
下面是行塊內(nèi)容:
這是一段行塊內(nèi)容
這同樣也是行塊內(nèi)容 還是行塊內(nèi)容
這是新的一段萍恕。
塊引用(Block Quotes)
塊引用是通過縮進來實現(xiàn)的譬圣,引用塊要在前面的段落基礎(chǔ)上縮進。
通常引用結(jié)尾會加上出處(attribution)雄坪,出處的文字塊開頭是 --厘熟、--- 、—维哈,后面加上出處信息绳姨。
塊引用可以使用空的注釋 .. 分隔上下的塊引用。
注意在新的塊和出處都要添加一個空行阔挠。
下面是引用的內(nèi)容:
“真的猛士飘庄,敢于直面慘淡的人生,敢于正視淋漓的鮮血购撼」蛳鳎”
--- 魯迅
..
“人生的意志和勞動將創(chuàng)造奇跡般的奇跡∮厍螅”
— 涅克拉索
下面是引用的內(nèi)容:
“真的猛士碾盐,敢于直面慘淡的人生,敢于正視淋漓的鮮血揩局『辆粒”
—魯迅
“人生的意志和勞動將創(chuàng)造奇跡般的奇跡×瓒ⅲ”
—涅克拉索
文檔測試塊(Doctest Blocks)
文檔測試塊是交互式的Python會話付枫,以 >>> 開始,一個空行結(jié)束驰怎。
>>> print "This is a doctest block."
This is a doctest block.
>>> print "This is a doctest block."
This is a doctest block.
表格(Tables)
reStructuredText提供兩種表格:網(wǎng)格表(Grid Tables)阐滩,簡單表(Simple Tables)。
網(wǎng)格表(Grid Tables)
網(wǎng)格表中使用的符號有:-县忌、=掂榔、|址儒、+。
- 用來分隔行衅疙, = 用來分隔表頭和表體行莲趣,| 用來分隔列,+ 用來表示行和列相交的節(jié)點饱溢。
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 Tables)
簡單表相對于網(wǎng)格表喧伞,少了 | 和 + 兩個符號,只用 - 和 = 表示绩郎。
Simple table:
===== ===== ======
Inputs Output
------------ ------
A B A or B
===== ===== ======
False False False
True False True
False True True
True True True
===== ===== ======
效果請查看:這里
分隔符
分隔符就是一條水平的橫線潘鲫,是由 4 個 - 或者更多組成,需要添加換行肋杖。
上面部分
------------
下面部分
上面部分
下面部分
超鏈接
介紹各類帶有鏈接性質(zhì)的超鏈接
自動超鏈接
reStructuredText會自動將網(wǎng)址生成超鏈接溉仑。
https://github.com/SeayXu/
外部超鏈接(External Hyperlink)
引用/參考(reference),是簡單的形式状植,只能是一個詞語浊竟,引用的文字不能帶有空格。
這篇文章來自我的Github,請參考 reference_津畸。
.. _reference: https://github.com/SeayXu/
引用/參考(reference)振定,行內(nèi)形式,引用的文字可以帶有空格或者符號肉拓。
這篇文章來自我的Github,請參考 `SeayXu <https://github.com/SeayXu/>`_后频。
這篇文章來自我的Github,請參考 SeayXu。
內(nèi)部超鏈接|錨點(Internal Hyperlink)
更多信息參考 引用文檔_
這里是其他內(nèi)容
.. _引用文檔:
這是引用部分的內(nèi)容
更多信息參考 引用文檔
這里是其他內(nèi)容
<h6 id="id1"></h6>
這是引用部分的內(nèi)容
匿名超鏈接(Anonymous hyperlink)
詞組(短語)引用/參考(phrase reference)暖途,引用的文字可以帶有空格或者符號卑惜,需要使用反引號引起來。
這篇文章參考的是:`Quick reStructuredText`__驻售。
.. __: http://docutils.sourceforge.net/docs/user/rst/quickref.html
這篇文章來自我的Github,請參考 Quick reStructuredText露久。
間接超鏈接(Indirect Hyperlink)
間接超鏈接是基于匿名鏈接的基礎(chǔ)上的,就是將匿名鏈接地址換成了外部引用名_芋浮。
SeayXu_ 是 `我的 GitHub 用戶名`__抱环。
.. _SeayXu: https://github.com/SeayXu/
__ SeayXu_
隱式超鏈接(Implicit Hyperlink)
小節(jié)標(biāo)題纸巷、腳注和引用參考會自動生成超鏈接地址,使用小節(jié)標(biāo)題眶痰、腳注或引用參考名稱作為超鏈接名稱就可以生成隱式鏈接瘤旨。
第一節(jié) 介紹
===========
其他內(nèi)容...
隱式鏈接到 `第一節(jié) 介紹`_,即可生成超鏈接竖伯。
<h6 id="id2">第一節(jié) 介紹</h6>
其他內(nèi)容...
隱式鏈接到 第一節(jié) 介紹存哲,即可生成超鏈接因宇。
替換引用(Substitution Reference)
替換引用就是用定義的指令替換對應(yīng)的文字或圖片,和內(nèi)置指令(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贺辰。
腳注引用(Footnote Reference)
腳注引用,有這幾個方式:有手工序號(標(biāo)記序號123之類)嵌施、自動序號(填入#號會自動填充序號)饲化、自動符號(填入*會自動生成符號)。
手工序號可以和#結(jié)合使用吗伤,會自動延續(xù)手工的序號吃靠。
# 表示的方法可以在后面加上一個名稱,這個名稱就會生成一個鏈接足淆。
腳注引用一 [1]_
腳注引用二 [#]_
腳注引用三 [#鏈接]_
腳注引用四 [*]_
腳注引用五 [*]_
腳注引用六 [*]_
.. [1] 腳注內(nèi)容一
.. [2] 腳注內(nèi)容二
.. [#] 腳注內(nèi)容三
.. [#鏈接] 腳注內(nèi)容四 鏈接_
.. [*] 腳注內(nèi)容五
.. [*] 腳注內(nèi)容六
.. [*] 腳注內(nèi)容七
腳注引用一 [1]<a id="id9"></a>
腳注引用二 [3]<a id="id10"></a>
腳注引用三 [4]<a id="id11"></a>
腳注引用四 [*]<a id="id12"></a>
腳注引用五 [?]<a id="id13"></a>
腳注引用六 [?]<a id="id14"></a>
[1]<a id="id3"></a> 腳注內(nèi)容一
[2] 腳注內(nèi)容二
[3]<a id="id4"></a> 腳注內(nèi)容三
[4]<a id="id5"></a> 腳注內(nèi)容四 鏈接
[*]<a id="id6"></a> 腳注內(nèi)容五
[?]<a id="id7"></a> 腳注內(nèi)容六
[?]<a id="id8"></a> 腳注內(nèi)容七
引用參考(Citation Reference)
引用參考與上面的腳注有點類似巢块。
引用參考的內(nèi)容通常放在頁面結(jié)尾處,比如 [One]_巧号,Two_
.. [One] 參考引用一
.. [Two] 參考引用二
引用參考的內(nèi)容通常放在頁面結(jié)尾處夕冲,比如 [One]<a id="id17"></a>,Two
[One]<a id="id15"></a> 參考引用一
[Two]<a id="id16"></a> 參考引用二
注釋(Comments)
注釋以 .. 開頭裂逐,后面接注釋內(nèi)容即可歹鱼,可以是多行內(nèi)容,多行時每行開頭要加一個空格卜高。
..
我是注釋內(nèi)容
你們看不到我
關(guān)于 指令(Directives)弥姻,在下一篇中專門做語法說明。
如果有不正確的地方掺涛,希望你能指出庭敦。