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
reStructuredText(.rst)语法规则快速入门相关推荐
- GO 语言基础语法一 (快速入门 Go 语言)
Go语言基础语法 一. golang 标识符,关键字,命名规则 二. golang 变量 三. golang 常量 四. golang 数据类型 五. golang 布尔类型 六. golang 数字 ...
- [JavaWeb-XML]XML基本语法与快速入门
语法: * 基本语法:1. xml文档的后缀名 .xml2. xml第一行必须定义为文档声明3. xml文档中有且仅有一个根标签4. 属性值必须使用引号(单双都可)引起来5. 标签必须正确关闭6. x ...
- 过滤百度广告+搜索热点+adblock规则快速入门
经常用百度的人知道,百度的搜索热门特别干扰工作效率,有时候搜索热点的标题太吸引人了,其内容的真是性我们无从考证,把那些新闻当小说看就好.那么我们怎样才能解决这些干扰呢? 标题不要太吸引人 个人推荐浏览 ...
- 【LaTex】基础语法框架快速入门教程——Tex live+TexStudio简要安装及使用教程
0. 引言 LaTeX对于论文排版有着巨大的便利,并且对于参考文献的引用也十分方便,不会出现使用word引用参考文献一旦更改文献引用顺序,就必须全部改编号的情况.这里记录一下如何从0开始学习使用LaT ...
- python快速入门【一】-----基础语法
python入门合集: python快速入门[一]-----基础语法 python快速入门[二]----常见的数据结构 python快速入门[三]-----For 循环.While 循环 python ...
- Lua 快速入门(一)——基础语法
前言 Lua是由标准C实现的解释型语言,它的执行效率比较高,通常作为脚本嵌入到应用程序中. 由于支持热更新,Lua在游戏开发领域应用普遍.作为从业人员,不得不来填这个大坑. 本文是Lua入门学习笔记, ...
- python快速入门【四】-----各类函数创建
python入门合集: python快速入门[一]-----基础语法 python快速入门[二]----常见的数据结构 python快速入门[三]-----For 循环.While 循环 python ...
- python快速入门【三】-----For 循环、While 循环
python入门合集: python快速入门[一]-----基础语法 python快速入门[二]----常见的数据结构 python快速入门[三]-----For 循环.While 循环 python ...
- python快速入门【五】---- 面向对象编程、python类
python入门合集: python快速入门[一]-----基础语法 python快速入门[二]----常见的数据结构 python快速入门[三]-----For 循环.While 循环 python ...
最新文章
- SpringBoot项目打包war部署到服务器去掉项目名所遇到的坑
- poj 2346(DP)
- 天津2021年高考成绩查询入口,2021年天津高考成绩查询时间安排 什么时候出分
- python爬虫怎么挣钱_python爬虫19 | 爬虫遇到需要的登录的网站怎么办?用这3招轻松搞定!...
- static变量的作用(转)
- Java 读取shp文件,生成shp文件,通过shp文件自动建库
- QTableView结构及用法
- win10右键没有新建选项,无法新建文件夹
- 怎么给PDF删除其中一页,PDF删除其中一页的方法
- 常用HTML技术 淘宝店铺装修
- 郑州大学现代远程教育《商务礼仪》课程考核作业要求院校通智慧校园
- c语言 调用 .cpp,C语言三方库的调用和编写
- Spring Cloud Alibaba——Nacos服务配置中心
- 基于echarts 24种数据可视化展示,填充数据就可用,动手能力强的还可以DIY(演示地址+下载地址)
- git恢复修改的文件
- Drupal7_2:安装drupal
- PCB线板子的形状怎么设计的?
- 收藏,全网开发者都在学的26门AI课程!
- 用计算机可以干嘛的,计算机还可以做什么?
- 数独博士1.5_数独B
热门文章
- 【nyoj - 860】 又见0-1背包 (dp,反向0-1背包,好题好思路)
- 【UVA - 10815】 Andy's First Dictionary(STL+字符处理)
- Apollo进阶课程⑲丨Apollo感知之旅——感知算法
- php移动端url,什么是PC和移动端URL路径规范化
- 无法设置html过渡效果,html – CSS3过渡显示无阻止过度滚动
- suse下删除mysql_每日MySQL之005:SUSE linux下卸載MySQL
- android 虚拟键盘改变单个按键颜色_这款机械键盘很特别!一亿次按键寿命还有高颜值...
- PHP获取服务器端的相关信息
- leetcode74. 搜索二维矩阵 ,你见过吗
- C++:51---继承中的构造函数、析构函数、拷贝控制一系列规则