vs code 中使用 reStructuredText

什么是reStructuredText 与 Sphinx

  1. reStructuredTextRSTReSTreST)是一种用于文本数据的文件格式,主要用于 Python 编程语言社区的技术文档。
  • 它是Python Doc-SIG(Documentation Special Interest Group)的 Docutils 项目的一部分,旨在为 Python 创建一组类似于 Java 的 Javadoc 或 Perl 的 Plain Old Documentation(pod)的工具。Docutils 可以从 Python 程序中提取注释和信息,并将它们格式化为各种形式的程序文档。
  • 从这个意义上说,reStructuredText 是一种轻量级标记语言,其设计目的是(a)文档处理软件(如Docutils)可以处理它,(b)读和写 Python 源代码的程序员很容易读它
  1. Sphinx是从reStructuredText文档生成HTML / PDF的工具。

安装Python,Sphinx和其他(0.0.14及更高版本)

  1. 下载python版本2.7.10或更高版本(建议使用版本3.4)。

  2. 如果要在Windows上安装,请确保将Python安装目录和Python脚本目录都添加到了PATH环境变量中。例如,如果将Python安装到c:\python34目录中,则将添加c:\python34;c:\python34\scriptsPATH环境变量中。

  3. 通过打开命令提示符并运行以下Python命令来安装Sphinx。(请注意,此操作可能需要几分钟才能完成。)

    pip install sphinx sphinx-autobuild

  4. 安装restructuredtext-lint以启用linter支持。

    pip install restructuredtext-lint

请注意,有关如何安装Python和sphinx的最新步骤,请参考本文

开始sphinx和rst工作

  1. 创建并打开工程目录
sphinx-quickstart
欢迎使用 Sphinx 2.2.2 快速配置工具。

请输入接下来各项设置的值(如果方括号中指定了默认值,直接
按回车即可使用默认值)。

已选择根路径:.

布置用于保存 Sphinx 输出的构建目录,有两种选择。
一是在根路径下创建“_build”目录,二是在根路径下创建“source”
和“build”两个独立的目录。
> 独立的源文件和构建目录(y/n) [n]:

项目名称会出现在文档的许多地方。
> 项目名称: jon_doc
> 作者名称: jon
> 项目发行版本 []: 0.01

If the documents are to be written in a language other than English,
you can select a language here by its language code. Sphinx will then
translate text that it generates into that language.

For a list of supported codes, see
https://www.sphinx-doc.org/en/master/usage/configuration.html#confval-language.
> 项目语种 [en]: zh_CN

创建文件 ./conf.py。
创建文件 ./index.rst。
创建文件 ./Makefile。
创建文件 ./make.bat。

完成:已创建初始目录结构。

你现在可以填写主文档文件 ./index.rst 并创建其他文档源文件了。 用 Makefile 构建文档,像这样:
 make builder
此处的“builder”是支持的构建器名,比如 html、latex 或 linkcheck。
  1. 目录结构
    可以看到有几个文件:
localhost:hippo200_doc jon$ tree -L 1
.
├── Makefile
├── _build   #  运行make命令后,生成的文件都在这个目录里面
├── _static
├── _templates  #  主题文件
├── conf.py        #  配置文件
├── index.rst      # index
└── make.bat    # 批处理命令
  • 基本完成,使用 make html 命令就可以生成html形式的文档了
    这里生成的是html格式的。当然可以生成dirhtml,singlehtml,epub,devhelp,latex,man,texinfo,text等多种格式。
  1. 预览
    生成的htm目录在工程的_build/html目录
    双击html目录下的index.html完成预览

vs code 配置

  1. macos 的vs code配置python3 “Command + ,” 打开settings.json文件,添加以下配置:


    找到settings.json
{
    # 输出到终端
    "code-runner.runInTerminal": true, 

    # 更换编辑器解析器路径(换成你自己的)
    "python.pythonPath": "/Library/Frameworks/Python.framework/Versions/3.8/bin/python3",

    # code runner使用python3运行
    "code-runner.executorMap": {
        "python": "python3 -u",
    }
}
  1. VScode配置
  • 安装插件 reStructuredText
  • 点击预览


  • 效果


    效果
  1. 建立3个模块分别为「api」、「database」、「tool」,把主索引 index.rst 改为:
项目文档
========

.. toctree::
    :maxdepth: 2
    :glob:

    api/index
    database/index
    tool/index

创建 3个目录 ,每个目录下创建一个 index.rst 文件,也就是二级索引文件。

mkdir api database tool
touch api/index.rst database/index.rst tool/inde.rst 

参照目录创建文件,如 api,则在 api 目录下创建如下文件:

cd api
touch 01_environs.rst  02_api.rst     03_slot.rst

每个文件里写上 一级标题,然后检查下:

 cat  *.rst

环境说明
=========================
接口文档
=========================
预留
=========================

然后把文件名添加到二级索引 api/index 里

api 接口
==========

这一部分主要介绍 api 接口

.. toctree::
    :maxdepth: 2
    :numbered: 2

    01_environs
    02_api
    03_slot

结构

tree -L 2
.
├── Makefile
├── _build
│   ├── doctrees
│   └── html
├── _static
├── _templates
├── api              # 
│   ├── 01_environs.rst
│   ├── 02_api.rst
│   ├── 03_slot.rst
│   └── index.rst
├── conf.py
├── database          # 
│   ├── 01_detail.rst
│   └── index.rst
├── index.rst
├── make.bat
└── tool              #
    └── index.rst

效果

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341