reStructuredText 语法简介
reStructuredText 含义为 重新构建的文本,是扩展名为 .rst
的纯文本文件,也被简称为:RST 或 reST。其是 Python 编程语言的 Docutils 项目的一部分,Python Doc-SIG (Documentation Special Interest Group)。该项目类似于 Java 的 JavaDoc 或 Perl 的 POD 项目。 Docutils 能够从 Python 程序中提取注释和信息,格式化成程序文档。.rst
文件是轻量级标记语言的一种,被设计为容易阅读和编写的纯文本,并且可以借助 Docutils 这样的程序进行文档处理,也可以转换为 HTML 或 PDF 等多种格式,或由 Sphinx-Doc 这样的程序转换为 LaTex、man 等更多格式。
标题样式
一级标题:
============
一级标题
============
二级标题:
二级标题
============
三级标题:
三级标题
----------
四级标题:
四级标题
^^^^^^^^^^^
五级标题:
五级标题
""""""""""""
六级标题:
六级标题
***********
字体样式
强调内容(斜体):
*这里是强调内容*
粗体:
**这里是粗体内容**
等宽文本
``这里是等宽文本``
文字段落
段落 是被空行分割的文字片段,左侧必须对齐(没有空格,或者有相同多的空格):
| 这里是段落
缩进的段落被视为引文。
| 这里也是段落
缩进的段落被视为引文。
| 这里还是段落
缩进的段落被视为引文。
行块 对于地址、诗句以及无装饰列表是非常有用的。行块是以 | 开头,每一个行块可以是多段文本,在 | 前后各有一个空格:
下面是行块内容:
| 这是一段行块内容
| 这同样也是行块内容
还是行块内容
这是新的一段。
文字块 就是一段文字信息,在需要插入文本块的段落后面加上 ::,接着一个空行,然后就是文字块了。文字块不能定顶头写,要有缩进,结束标志是,新的一段文本贴开头,即没有缩进:
下面是文字块内容:
::
这是一段文字块
同样也是文字块
还是文字块
这是新的一段。
定义:
定义1
这是定义1的内容
定义2
这是定义2的内容
字段列表:
:标题: reStructuredText语法说明
:作者:
- Seay
- Seay1
- Seay2
:时间: 2017年12月12日
:概述: 这是一篇
关于reStructuredText的语法说明。
你在这里可以了解更多语法信息。
列表样式
列表 可以使用 - 、 * 、 + 来表示。不同的符号结尾需要加上空行,下级列表需要有空格缩进:
1. 枚举列表1
#. 枚举列表2
#. 枚举列表3
A. 枚举列表A
#. 枚举列表B
#. 枚举列表C
a. 枚举列表a
#. 枚举列表b
#. 枚举列表c
水平列表 将列表项横向显示并减少项目的间距使其较为紧凑:
.. hlist::
:columns: 3
* 列表
* 的子
* 项会
* 水平
* 排列
选项列表 是一个类似两列的表格,左边是参数,右边是描述信息。当参数选项过长时,参数选项和描述信息各占一行。项与参数之间有一个空格,参数选项与描述信息之间至少有两个空格:
-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
代码块
行内代码(即等宽文本),用两个反引号:
``echo "Hello World!";``
简单代码块(加两个冒号再空一行):
双冒号方式 ::
echo "Hello World!";
代码高亮,使用 code-block 语句,还可以选择列出行号和高亮重点行等:
- :linenos:显示行号
- :emphasize-lines:3,6 3,6行高亮
示例:
.. code-block:: c
:linenos:
:emphasize-lines: 3,6
void foo()
{
int i;
for(i=0; i<10; i++)
printf("i: %d\n", a);
}
.. code-block:: php
:linenos:
<?php
echo 'hi';
?>
.. code-block:: html
:linenos:
<b>粗体</b>
.. code-block:: console
:linenos:
$ ls
$ uname -a
超链接
行内超链接,语法为:
`链接文字 <URL>`_
示例:
访问 `我的博客 <http://ramble.3vshej.cn>`_ ,可以了解更多信息。
分开的超链接,语法为:
# 用到链接的地方
`链接文字`_
# 定义链接的地方
.. _链接文字: URL
示例:
访问 `我的博客`_,可以了解更多信息。
.. _我的博客: http://ramble.3vshej.cn
或者:
这篇文章参考的是:`reStructuredText(rst)快速入门语法说明`__。
.. __: http://www.jianshu.com/p/1885d5570b37
图片表格
图片:
.. image:: ./2017-12-06_raspberry-pi-e1512540834201.png
:width: 200px
表格:
===== ===== ======
输入 输出
------------ ------
A B A or B
===== ===== ======
False False False
True False True
False True True
True True True
===== ===== ======
或者:
+------------------------+------------+----------+----------+
| 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 | Cells may span columns. |
+------------------------+------------+---------------------+
| body row 3 | Cells may | - Table cells |
+------------------------+ span rows. | - contain |
| body row 4 | | - body elements. |
+------------------------+------------+---------------------+
其他
注释,以 .. 开头,后面接注释内容即可,可以是多行内容,多行时每行开头要加一个空格:
..
我是注释内容
你们看不到我
分隔符 是一条水平的横线,是由 4 个 - 或者更多组成,需要添加换行:
上面部分
------------
下面部分
Python 会话:
>>> print "Hello World!"
Hello World!
参考资料
本文使用 知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议 进行许可,转载请注明出处