天天看點

Sphinx文檔生成工具(二)rst文法

rst文法

官方的文法手冊

行内的樣式:

#斜體
*message*
#粗體
**message**
#等寬 不能有換行
``message``
           

标題

一級标題
^^^^^^^^
二級标題
---------
三級标題
>>>>>>>>>
四級标題
:::::::::
五級标題
'''''''''
六級标題
""""""""
           

清單

符号清單

符号清單可以使用-、*、+來表示

不同符号結尾需要加上空行,下級的清單需要有空格縮進

- 符号清單1
- 符号清單2

  + 二級符号清單1

  - 二級符号清單2

  * 二級符号清單3

* 符号清單3

+ 符号清單4
           

枚舉(順序)清單

枚舉清單可以結合 # 自動生成枚舉序号。

1. 枚舉清單1
#. 枚舉清單2
#. 枚舉清單3

(I) 枚舉清單1
(#) 枚舉清單2
(#) 枚舉清單3

A) 枚舉清單1
#) 枚舉清單2
#) 枚舉清單3
           
Sphinx文檔生成工具(二)rst文法

定義清單

定義清單可以了解為解釋清單,即名詞解釋

條目占一行,解釋文本要有縮進;

定義1
 這是定義1的内容

定義2
 這是定義2的内容
           

字段清單

:标題: 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
           
Sphinx文檔生成工具(二)rst文法

文字塊

文字塊就是一段文字資訊,在需要插入文本塊的段落後面加上 ::,接着一個空行,然後就是文字塊了。

文字塊不能定頂頭寫,要有縮進,結束标志是,新的一段文本貼開頭,即沒有縮進。

下面是文字塊内容:
::

   這是一段文字塊
   同樣也是文字塊
   還是文字塊

這是新的一段。
           

行塊

行塊對于位址、詩句以及無裝飾清單是非常有用的。行塊是以 | 開頭,每一個行塊可以是多段文本。

下面是行塊内容:
 | 這是一段行塊内容
 | 這同樣也是行塊内容
   還是行塊内容

這是新的一段。
           

塊引用

塊引用是通過縮進來實作的,引用塊要在前面的段落基礎上縮進。

通常引用結尾會加上出處(attribution),出處的文字塊開頭是 --、— 、—,後面加上出處資訊。

塊引用可以使用空的注釋 … 分隔上下的塊引用。

注意在新的塊和出處都要添加一個空行。

下面是引用的内容:

    “真的猛士,敢于直面慘淡的人生,敢于正視淋漓的鮮血。”

    --- 魯迅

..

      “人生的意志和勞動将創造奇迹般的奇迹。”

      — 涅克拉索
           
Sphinx文檔生成工具(二)rst文法

表格

網格表

網格表中使用的符号有:-、=、|、+。

-用來分隔行, = 用來分隔表頭和表體行,| 用來分隔列,+ 用來表示行和列相交的節點。

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. |
+------------+------------+-----------+
           
Sphinx文檔生成工具(二)rst文法

簡單表

簡單表相對于網格表,少了 | 和 + 兩個符号,隻用 - 和 = 表示。

Simple table:

=====  =====  ======
   Inputs     Output
------------  ------
  A      B    A or B
=====  =====  ======
False  False  False
True   False  True
False  True   True
True   True   True
=====  =====  ======
           
Sphinx文檔生成工具(二)rst文法

分割符

hello

-----------

nihao
           

超連結

外部超連結

https://github.com/SeayXu/

這篇文章來自我的Github,請參考 reference_。

.. _reference: https://github.com/SeayXu/

這篇文章來自我的Github,請參考 `SeayXu <https://github.com/SeayXu/>`_。
           
Sphinx文檔生成工具(二)rst文法

内部連結

更多資訊參考 引用文檔_

這裡是其他内容


.. _引用文檔:
這裡是引用部分内容

           
Sphinx文檔生成工具(二)rst文法

點選引用文檔,可以跳轉到對應錨點位置

這篇文章參考的是:`Quick reStructuredText`__。

.. __: http://docutils.sourceforge.net/docs/user/rst/quickref.html
           
Sphinx文檔生成工具(二)rst文法

匿名超連結,但是不能重複定義

.. _間接超連結:

SeayXu_ 是 `我的 GitHub 使用者名`__。

.. _SeayXu: https://github.com/SeayXu/

__ SeayXu_
           
Sphinx文檔生成工具(二)rst文法

間接+錨點得方式

第一節 介紹
===========

其他内容...

隐式連結到 `第一節 介紹`_,即可生成超連結。
`第一節 介紹`_
           
Sphinx文檔生成工具(二)rst文法

這種方式可以實作類似目錄跳轉得功能

常用得指令

# 新得頁面都要在開頭引入
.. include:: ../../static/roles.include

# 提示
.. tip:: message

# 警告
.. warning::
	message1
	message2

# 重要
.. important:: message

# 圖檔
.. figure:: image.png
	:scale: 75%
	:align: center
           

基本架構

一個簡單得目錄結構:

  • index.rst
  • data
    • index.rst
    • data_page1.rst
    • data_page2.rst
  • operator
    • index.rst
    • operator_page1.rst
    • operator_page2.rst

index.rst中得内容

:ref:`data`

:ref:`operator`

-----------------------------------------------------------------------------------------

.. _data:

.. toctree::
   :maxdepth: 1
   :caption: 資料

   data/index

-----------------------------------------------------------------------------------------

.. _operator:

.. toctree::
   :maxdepth: 1
   :caption: 操作

   operator/index

           

data/index.rst

this 
.. toctree::
	:maxdepth: 2
	
	data_page1
	data_page2
           

operator/index.rst

.. toctree::
	:maxdepth: 2
	
	operator_page1
	operator_page2
           

data/data_page1.rst

.. include:: static/roles.include

===============================
data_page1
===============================

.. _data_page1:

           
Sphinx文檔生成工具(二)rst文法

繼續閱讀