https://github.com/xunxuny/zh-sphinx-doc/blob/master/rest.rst
この章では reStructuredText (reST) を紹介します
の概念と構文。reST
はシンプルで実用的なマークアップ言語と考えられているため、学習にそれほど時間はかかりません。
段落は、Python と同様に、空白行で区切られたテキストのセクションです。 reST の演算子
であるため、同じ段落内の行はすべて左揃えになります。
インライン タグ
標準の reST インライン タグは非常に単純です。アスタリスク: *text* は強調 (斜体)、
は互いに入れ子にすることはできません。
です。
標準 reST は次のルールを提供します:
* :durole:emphasis` - *emphasis** Strong として記述されます -
**strong*** リテラルとして記述されます -リテラル* 下付き文字 - 下付き文字*上付き文字 – 上付き文字* タイトル参照 – 本、雑誌などのタイトル
詳細については、インラインマークアップを参照してください。
リストと引用
リスト タグ (ref
単にアスタリスクとインデントを付けるだけです。段落の先頭に番号付きリストを使用することもできます。記号
リストはネストできますが、ネストする必要があります。空行で親リストから区切ります:
定義リスト (ref
* 这是一个项目符号列表.* 它有两项, 第二项使用两行.1. 这是个有序列表.2. 也有两项.#. 是个有序列表.#. 也有两项.
1 行には 1 つの用語のみを記述できます。 🎜>
引用された段落 (ref* 这是* 一个列表 * 嵌套列表 * 子项* 父列表继续
行ブロック (ref
术语 (term 文本开头行) 定义术语,必须缩进 可以有多段组成下一术语(term) 描述.
他にも便利なブロックがあります:
フィールド リスト (ref
オプション リスト (ref
| 这些行| 在源文件里| 被分隔的一模一样.
リテラル参照モジュール (ref
この :: タグは非常にエレガントです:
スタンドアロンの段落として存在する場合、段落全体は表示されませんドキュメント内で
タグの前に空白がある場合、タグは削除されます。这是一段正常文本. 下一段是代码文字:: 它不需要特别处理,仅是 缩进就可以了. 它可以有多行.再是正常的文本段.
空白以外の文字が前にある場合、タグはコロンに置き換えられます。 >
したがって、上記の例のテキストの最初の段落は、「次の段落はコード テキストです:」になります。
には複数の行が必要であり、最初の列要素は次のように別々の行に表示できません:
ハイパーリンク
+------------------------+------------+----------+----------+| Header row, column 1 | Header 2 | Header 3 | Header 4 || (header rows optional) | | | |+========================+============+==========+==========+| body row 1, column 1 | column 2 | column 3 | column 4 |+------------------------+------------+----------+----------+| body row 2 | ... | ... | |+------------------------+------------+----------+----------+
外部リンク
`リンク テキスト
===== ===== =======A B A and B===== ===== =======False False FalseTrue False FalseFalse True FalseTrue True True===== ===== =======
内部リンク
内部リンクは Sphinx 固有の reST ロールです。ref-role の章を参照してください。
セクション
セクションのタイトル (ref
段落里包含 `a link`_... _a link: http://example.com/
当然也可以标记(查看 reST 文档),定义章节的层次,但是需要注意输出格式(HTML, LaTeX)所支持的层次深度 .
显式标记”Explicit markup” (ref
显式标记以 ..开始,后跟空白符,与下面段落的缩进一样.
(在显示标记与正常的段落间需有空行,这听起来有些复杂,但是写起来会非常直观.)
指令 (ref
文档工具支持以下指令:
影响标记:
如果仅有一个文件,最好使用 default_role.
设置不使用指令 sectnum, header 及 footer.
Sphinx 新增指令可查阅 sphinxmarkup.
指令有名字,参数,选项及内容组成.(记住这些,在下面一小节中自定义指令里会用到).来看一个例子:
.. function:: foo(x) foo(y, z) :module: some.module.name 返回用户输入的一行文本.
function是指令名字. 在第一行和第二行给出了两个参数, 及一个选项
module(如你所见,选项在参数后给出,由冒号引出).
选项必须与指令有一样的缩进.
指令的内容在隔开一个空行后,与指令有一样缩进.
reST 支持图像指令 (ref
.. image:: gnu.png (选项)
这里给出的文件名( gnu.png)
必须是源文件的相对路径,如果是绝对路径则以源目录为根目录. 例如,在文件
sketch/spam.rst引用图像 images/spam.png,则使用
../images/spam.png或者 /images/spam.png.
Sphinx 会自动将图像文件拷贝到输出目录的子目录里,( 输出HTML时目录为
_static)
图像的大小选项 ( width及 height) : 如果没有单位或单位为像素,
给定的尺寸信息仅在输出通道支持像素时才有用 ( 如输出LaTeX 没用).
其他单位在输出(如 pt)HTML、LaTeX 时被用到.
Sphinx 延伸了标准的文档化行为,只需在后面加星号:
.. image:: gnu.*
上面这样写,Sphinx 会搜索所有名字匹配的图像,而不管图像类型.
每个生成器则会选择最合适的图像. 一般,在源文件目录里文件名 gnu.*会含有两个文件 gnu.pdf 和 gnu.png , LaTeX 生成器会选择前者,而HTML
生成器则匹配后者.
尾注 (ref
尾注的内容则在文档底部红色标题”Footnotes”的后面 , 如下:
Lorem ipsum [#f1]_ dolor sit amet ... [#f2]_.. rubric:: Footnotes.. [#f1] 第一条尾注的文本... [#f2] 第二条尾注的文本.
你也可以使用数字尾注 ( [1]_) 或使用自动排序的( [#]_).
支持标准的reST 引用 (ref
Lorem ipsum [Ref]_ dolor sit amet... [Ref] 参考文献, 书,URL 等.
引用的使用同尾注很相近,但是它们没有数字标签或以 #开始.
reST 支持替换 “substitutions” (ref
有一小段文本或标记被关联到 |name|.
定义与尾注一样需有明确的标记块,如下:
.. |name| replace:: replacement *text*
或者:
.. |caution| image:: warning.png :alt: Warning!
详情查看reST reference for substitutions
如果想在所有文档中使用这些替换, 需把它们放在 rst_prolog
或一个单独文件里, 然后在使用它们的文档文件里包含这个文件,包含指令
:rstinclude .
(请给出包含文件的扩展名,已区别于其他的源文件,避免Sphinx将其作为独立的文档文件.)
Sphinx 定义了一些默认的替换, 请查看 default-substitutions.
有明确标记块但又不是有效的结构标记的标记 (像上面的尾注)都被视为评论(ref
.. 这是一个评论.
可以通过缩进产生多行评论:
.. 这整个缩进块都是 一个评论. 仍是一个评论.
在reST使用Unicode字符可以容易的包含特殊字符如破折号,版权标志. Sphinx默认源文件使用UTF-8 编码; 你可以通过 source_encoding 的配置值改变编码.
具体使用中可能会遇到一些问题:
the
reference
.[^1]: 当默认主域里包含指令 :rstclass , 这个指令将被隐藏 因此, Sphinx使用:rstrst-class.