reStructuredText(.rst)语法规则快速入门

原文:http://blog.useasp.net/archive/2014/09/05/rst-file-restructuredtext-markup-syntax-quikstart.aspx?utm_source=tuicool

 

简介

reStructuredText是一种轻量级的文本标记语言,直译为:重构建的文本,是Python中Docutils项目的一部分。其一般保存的文件以.rst为后缀。在必要的时候,.rst文件可以被转化成PDF或者HTML格式,也可以有Sphinx转化为LaTex,man等格式,现在被广泛的用于程序的文档撰写。

reStructuredText大致分章节,段落,块和列表这几种内容。而在这其中reStructuredText最主要用得到的标记也就是:

  • 标题
  • 段落
  • 列表
  • 表格
  • 块(如:代码块)
  • 样式

下面一一介绍:

标题(Title)

来看看标题的实例:

===================
这就是一个标题
===================----------------
这也是一个章节标题
----------------

怎么样,看起来不难吧,你只要按这个写法,就能被reStructuredText认识,并被解释为章节标题。reStructuredText可用于作为标题修饰的字符有很多很多:

! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~

只要你想,上面的任意一个都可以用来作为标题的修饰符,当然,reStructuredText也是有推荐的,它推荐下面这些字符:

= - ` : . ' " ~ ^ _ * + #

这些字符是上面一堆字符中稍微看起来不会那么奇怪的一部分,当然,个人建议不要那么花哨,尽量用这两个中的一个:

= -

上面实例的写法也许有点复杂,.rst文件中,你还可以只给出下半部分的字符即可:

这个标题和上面的一样
===================

TIPS:作为修饰的字符长度要大于等于文字长度。另外,标题是能够嵌套的。

段落( Paragraphs)

段落一般隶属于某个章节中,是一块左对齐并且没有其他元素体标记的块。在.rst文件中,段落和其他内容的分割是靠空行来完成,如果段落相较于其他的段落有缩进,reStructuredText会解析为引用段落,样式上有些不同。

这里是一段reStructuredText的内容,它可以很长很长。。。。最后,末尾留出空行表示是本段落的结束即可。这里是另外一段reStructuredText的内容,这段内容和上一段之间,乃至后面的其他内容之间都要留出空行进行分割。这个也是段落,当时由于缩进了,会变成引用段落。显示和直接的段落有点不同

列表(List)

列表在HTML中被分为两种,一个是有序列表(Enumerated Lists),一种是无序列表(Bullet Lists),在reStructuredText中,我们也能找到这两种列表,还有一种称为定义列表(Definition Lists),这和HTML中的DL一样,在.rst文件中可以支持嵌套列表。

无序列表 要求文本块是以下面这些字符开始,并且后面紧跟空格,而后跟列表项的内容,其中列表项比趋势左对齐并且有与列表对应的缩进。

* + - • ‣ ⁃

还是那句话,用最常用的几个字符就好,不用那么花哨。下面是示例:

- 这里是列表的第一个列表项- 这是第二个列表项- 这是第三个列表项- 这是缩进的第一个列表项注意,这里的缩进要和当前列表项的缩进同步。- 第一级的第四个列表项- 列表项之间要用个空格来分割。

有序列表 在格式上和无序列表差不多,但是在使用的前缀修饰符上,使用的不是无序列表那种字符,而是可排序的字符,可以识别的有下面这些:

arabic numerals: 1, 2, 3, ... (no upper limit).
uppercase alphabet characters: A, B, C, ..., Z.
lower-case alphabet characters: a, b, c, ..., z.
uppercase Roman numerals: I, II, III, IV, ..., MMMMCMXCIX (4999).
lowercase Roman numerals: i, ii, iii, iv, ..., mmmmcmxcix (4999).

如果你不想使用这些,在你标明第一个条目的序号字符后,第二个开始你还可以使用"#"号来让reStructuredText自动生成需要的序号(Docutils >= 0.3.8)。

1. 第一项
巴拉巴拉好多内容在这里。。。#. 第二项a. 第二项的第一小项#. 第二项的第二小项#. 第三项

定义列表 :每个定义列表项里面包含术语(term),分类器(classifiers,可选), 定义(definition)。术语是一行文字或者短语,分类器跟在术语后面,用“ : ”(空格,冒号,空格)分隔。定义是相对于术语缩进后的一个块。定义中可以包含多个段落或者其他的内容元素。术语和定义之间可以没有空行,但是在定义列表前后必须要有空行的存在。下面是示例:

术语1
术语1的定义术语 2
术语2的定义,这是第一段术语2的定义,第二段术语 3 : 分类器
术语3的定义术语 4 : 分类器1 : 分类器2
术语4的定义

TIPS:在reStructuredText中,还有两种列表,一种是字段列表(Field Lists),一种是选项列表(Option Lists)。由于是rst的语法入门教程,这里不做深入介绍

表格(Table)

reStructuredText提供两种表格:网格表格(Grid Tables), 简单表格(Simple Tables)。

 网格表 中,共使用的符号有:

- = | +

“-” 用来分隔行, “=“ 用来分隔表头和表体行,"|" 用来分隔列,而"+"用来表示行和列相交的节点,如下面的例子:

+------------------------+------------+----------+----------+
| 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.    |
+------------------------+------------+---------------------+来自docutils的帮助文档.

TIPS:表头行是可选的,如果你不需要,就可以不用"="来分割了。

简单表格 :这种表格比网格表来说简单许多,一般用于简单的数据展示。其用于修饰的字符也仅两个而已:

= -

一般用"="就能完成简单表格的绘制,如果有表头,同样需要用"="将它和表体(body)内容分开,否则会被视为无表头数据。

基本形式
========`下面这种是最简单的表格形式,当然你也可以去掉表头展示。`=====  =====  =======A      B    A and B
=====  =====  =======
False  False  False
True   False  False
False  True   False
True   True   True
=====  =====  =======表内嵌入
========`下面这种简单表内有列表`=====  =====
col 1  col 2
=====  =====
1      Second column of row 1.
2      Second column of row 2.Second line of paragraph.
3      - Second column of row 3.- Second item in bulletlist (row 3, column 2).
\      Row 4; column 1 will be empty.
=====  =====表头合并
========`表头进行分类合并`=====  =====  ======Inputs     Output
------------  ------A      B    A or B
=====  =====  ======
False  False  False A
True   False  True
False  True   True
True   True   True
=====  =====  ======

TIPS:列需要和"="左对齐,不然可能会导致出错;如果碰到第一列为空时,需要使用"\"来转义,不然会被视为是上一行的延续;网格表和简单表中,简单表比较适合展现简单的数据,这些数据本身不需要太复杂的展现形式,而一旦碰到需要和并单元格这类的复杂操作,可能网格表会更加适合。

表格中还有更复杂的表格形式,比如:CSV表格,列表表格。这些复杂的格式就留给有兴趣的朋友深入吧。

块(Blocks)

块在reStructuredText中的表现方式也有好几种,但是最常见的是文字块(Literal Blocks)。这种块的表达非常简单,就是在前面内容结束之后,用两个冒号" :: "(空格[Optional],冒号,冒号)来分割,并在之后紧接着插入空行,而后放入块的内容,块内容要相对之前的内容有缩进。

这里是块之前的的内容。。。::这里是块的内容。前面有缩进,空行,和::分隔符。此处内容会被一直视为块内容空行也不能阻断块内容。。但是,当内容像这样,不再和块内容一样缩进时,块内容就自动的结束了。

这是块的最简单方式,一般我们编写的代码块就是用这种方式表现(如下), 除此之外,.rst还有引用文字块(Quoted Literal Blocks),行块(Line Blocks),块引用(Block Quotes)等。

下面是我们的测试代码:::for i in [1,2,3,4,5]:print i# 代码块测试很简单的代码块测试。

更多的块内容,请参阅官方帮助文档。

样式(Style)

reStructuredText中支持对文本进行样式控制,比如:粗体(Strong),斜体(Italic),等宽字体(Monospace),引用(  interpreted text )。

.. Strong EmphasisThis is **Strong Text**. HTML tag is strong.粗体.. Italic, EmphasisThis is *Emphasis* Text.这个HTML使用em, 斜体.. Interpreted TextThis is `Interpreted Text`. 注意,这个HTML一般用<cite>表示.. Inline LiteralsThis is ``Inline Literals``. HTML tag is <tt>. 等宽字体.

来点补充,如果你需要在文档中插入超链接,那么你可以像下面这样:

我这里是一个 链接_... _链接: http://blog.useasp.net

这种方式要求定义链接,而后引用链接。而且链接要有空格分隔前面的文字。这种方式略嫌麻烦,你可以用更加简化的方式——个人比较推荐:

这里同样是一个 `链接<http://blog.useasp.net>`_,不需要特别设置。

TIPS: 我们会发现,两个处理连接的时候,都需要在链接文字前面要空格与前面进行分割,这个在英文当中比较好处理,因为单个词之间有空格,而在中文中,字之间没有空格,如果加入空格,在显示时会有空格,影响观感,为此,如果在中文中使用,需要考虑好。

到此为止,reStructuredText这个标记语言的基本用法已经展现完毕,进入实战吧,骚年!

 

\ **修改SID方法:** 进入系统目录C:\Windows\System32\Sysprep ,运行sysprep.exe程序,勾选上通用。

.. image:: ../static/picture.jpeg:height: 100px:width: 200 px:scale: 50 %:alt: alternate text:align: right

参考

在线reStructuredText编辑器, 编辑器1 , 编辑器2



     Sphinx 使用手册: http://zh-sphinx-doc.readthedocs.org/en/latest/contents.html

                              http://zh-sphinx-doc.readthedocs.org/en/latest/contents.html


 

转载于:https://www.cnblogs.com/BuildingHome/p/4345156.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/459651.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

精读linux源码,Linux基础入门的操作精读.doc

摘要&#xff1a;Linux是一套免费使用和自由传播的类Unix操作系统&#xff0c;是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想&#xf…

安卓App设计博文

安卓1080P界面设计规范解读 http://www.25xt.com/appdesign/9487.html APP设计尺寸解读&#xff1a;px、pt、ppi、dpi、dp、sp之间的关系 http://www.25xt.com/appdesign/9294.html 安卓界面设计规范 http://www.25xt.com/android转载于:https://www.cnblogs.com/tmlee/p/4894…

Android学习四、Android中的Adapter

一、Adapter的介绍 An Adapter object acts as a bridge between an AdapterView and the underlying data for that view. The Adapter provides access to the data items. The Adapter is also responsible for making a View for each item in the data set. 一个Adapter是…

linux select shell,linux之shell编程select和case用法

shell里的select用法&#xff1a;语法&#xff1a;#i/bin/bashselect 变量 in 列表do要执行的语句done举例&#xff1a;#!/bin/bashecho "What is your favourite OS?"select var in "windows" "Linux" "Gnu Hurd" "Free BSD&qu…

elasticsearch 查询(match和term)

elasticsearch 查询&#xff08;match和term&#xff09; es中的查询请求有两种方式&#xff0c;一种是简易版的查询&#xff0c;另外一种是使用JSON完整的请求体&#xff0c;叫做结构化查询&#xff08;DSL&#xff09;。 由于DSL查询更为直观也更为简易&#xff0c;所以大都使…

Andorid获取状态栏高度

在应用开发中&#xff0c;有时我们需要用代码计算布局的高度&#xff0c;可能需要减去状态栏(status bar)的高度。状态栏高度定义在Android系统尺寸资源中status_bar_height,但这并不是公开可直接使用的&#xff0c;例如像通常使用系统资源那样android.R.dimen.status_bar_heig…

linux 域名劫持,域名被劫持处理方案

首先简单说下什么是域名劫持&#xff0c;域名劫持就是在劫持的网络范围内拦截域名解析的请求&#xff0c;分析请求的域名&#xff0c;把审查范围以外的请求放行&#xff0c;否则直接返回假的IP地址或者什么也不做使得请求失去响应&#xff0c;其效果就是对特定的网址不能访问或…

在linux下修改oracle的sys和system的密码和用户解锁

修改oracle的sys和system的密码和用户解锁 1、再linux系统上sqlplus /as sysdba进入sqlplus后就可以修改sys和system的密码了2、alter user sys identified by "密码"alter user system identified by "密码"其实就是先登录到oracle然后&#xff0c;在里面…

background 与backgroundcolor区别

background 可以设置 背景颜色、背景图片、定位等 background-color 只能设置 背景颜色 转载于:https://www.cnblogs.com/sun9218333949/p/4265863.html

linux 检测蓝牙 rssi,树莓派开发笔记(十一):蓝牙的使用,BlueZ协议(双树莓探测rssi并通过蓝牙互传获取的rssi信号强度)...

若该文为原创文章&#xff0c;转载请注明原文出处长期持续带来更多项目与技术分享&#xff0c;咨询请加QQ:21497936、微信&#xff1a;yangsir198808下一篇&#xff1a;敬请期待…接下来介绍树莓派蓝牙模块的开发&#xff0c;使用的协议为bluez。客户端bob&#xff0c;服务器al…

Android Studio项目整合PullToRefresh的问题记录

PullToRefresh下拉刷新在App中应用非常频繁&#xff0c;然而PullToRefresh是在ADT下开发完成的。如果要将其整合到Android Studio目录下的话颇费周折。前面的文章“Android Studio项目引入外部库注意事项(PullToRefresh)”介绍了如何将PullToRefresh的library引入到项目中。如果…

POJ 1852 Ants 分析

1、暴搜 每只蚂蚁朝向有两种&#xff0c;可以枚举n只蚂蚁的朝向&#xff0c;然后模拟蚂蚁相遇的情景&#xff0c;总共2^n中情况。 2、分析ants相碰的情况: (a->) (<-b) 变成 (<-a)(b->) 由于每只蚂蚁是相同的&#xff0c;所以等价与(<-b)(a->)&#xff0c;…

第 三 十 八 天:Linux 的 LVM 逻 辑 卷 管 理

小Q&#xff1a;书籍是全世界的营养品。生活里没有书籍&#xff0c;就好像没有阳光&#xff1b;智慧里没有书籍&#xff0c;就好像鸟儿没有翅膀。 —— 莎士比亚简介LVM&#xff1a;Logical Volume Manager&#xff08;逻辑卷管理&#xff09;&#xff…

发福利喽稀疏FFT

附介绍&#xff1a;四位来自麻省理工学院的研究人员蒂娜卡塔比&#xff08;Dina Katabi&#xff09;、海塞姆哈桑&#xff08;Haitham Hassanieh&#xff09;、比欧特因迪克&#xff08;Piotr Indyk&#xff09;和埃里克普里斯&#xff08;Eric Price&#xff09;今年1月&#…

linux 多个秘钥,linux管理多个ssh公钥密钥

很多网上免ssh密码使用git的命令都没有考虑到多个公钥密钥的情况&#xff0c;这里搜集并整理一下管理多个ssh公钥密钥的步骤。首先生成公钥和密钥&#xff0c;默认情况公钥的文件名比密钥末尾多.pubssh-keygen -t rsa -f ~/.ssh/id_rsa.work -C "Key for Work stuff"…

OpenFire源码学习之二十一:openfie对用户的优化(上)

用户类 优化用户主要是要解决用户的连接量。已经对用户的访问速度和吞吐量。 预初始化 在前面的带面中提出来了用户的预初始化。这里就不在贴出来了。下面将redis用户库连接池处理贴出来UserJedisPoolManager public class UserJedisPoolManager extends BasicModule{private s…

Camera Calibration 相机标定:原理简介(三)

3 绝对圆锥曲线 在进一步了解相机标定前&#xff0c;有必要了解绝对圆锥曲线&#xff08;Absolute Conic&#xff09;这一概念。 对于一个3D空间的点x&#xff0c;其投影空间的坐标为&#xff1a;x~[x1,x2,x3,x4]T。我们定义无穷远处的平面用符号Π∞表示&#xff0c;该平面内的…

C语言判断两字符串同构,c语言实现判断两颗树是否同构

在本题中认为如果两个树左右子树交换可以相同&#xff0c;也被认为是同构树。对应输入格式为&#xff1a;4(总结点数)A - 1B 2 3C - -D - -#include #define Tree int#define Null -1#define MAXSIZE 10struct Node{char Element;Tree Left;Tree Right;}T1[MAXSIZE], T2[MAXSIZ…

C语言常量类型及名称,菜鸟带你入门C语言|基本数据类型之常量

常量在程序中&#xff0c;有些数据是不需要改变的&#xff0c;也是不能改变的&#xff0c;因此&#xff0c;我们把这些不能改变的固定值称为常量。如下图中的“5”、“A”、“Good”&#xff0c;这些在程序执行过程中是一直保持不变的&#xff0c;他们就是常量。printf的作用是…

Android TabHost中实现标签的滚动以及一些TabHost开发的奇怪问题

最近在使用TabHost的时候遇到了一些奇怪的问题&#xff0c;在这里总结分享备忘一下。 首先说一点TabActivity将会被FragmentActivity所替代&#xff0c;但是本文中却是使用的TabActivity。 下面说说本程序能够实现的功能&#xff1a; 实现TabHost中的标题栏能够横向滚动&#x…