前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Sphinx初尝

Sphinx初尝

作者头像
云深无际
发布2020-12-07 11:52:23
1.6K0
发布2020-12-07 11:52:23
举报
文章被收录于专栏:云深之无迹

我们经常可以看到这种的doc文档,简洁大方.作为阅读可谓看着是赏心悦目

那么我能不能自己做一个这样的doc呢,我想是可以的,大家跟着我试试看!

代码语言:javascript
复制
https://robomaster-dev.readthedocs.io/zh_CN/latest/python_sdk/beginner_multi_robot.html

最近一位朋友想做个大疆的EP车,我提供一些建议,在看Dji的SDK,我就顺手拿这个来做示范了.

代码语言:javascript
复制
https://iridescent.ink/HowToMakeDocs/Basic/Sphinx.html
代码语言:javascript
复制
https://zh-sphinx-doc.readthedocs.io/en/latest/tutorial.html

我们实现上述的目的,使用的是Sphinx:

Sphinx 是一种文档工具,它可以令人轻松的撰写出清晰且优美的文档, 由 Georg Brandl 在BSD 许可证下开发. 新版的Python文档就是由Sphinx生成的, 并且它已成为Python项目首选的文档工具,同时它对 C/C++ 项目也有很好的支持; 并计划对其它开发语言添加特殊支持. 本站当然也是使用 Sphinx 生成的,它采用reStructuredText! Sphinx还在继续开发. 下面列出了其良好特性,这些特性在Python官方文档中均有体现:

  • 丰富的输出格式: 支持 HTML (包括 Windows 帮助文档), LaTeX (可以打印PDF版本), manual pages(man 文档), 纯文本
  • 完备的交叉引用: 语义化的标签,并可以自动化链接函数,类,引文,术语及相似的片段信息
  • 明晰的分层结构: 可以轻松的定义文档树,并自动化链接同级/父级/下级文章
  • 美观的自动索引: 可自动生成美观的模块索引
  • 精确的语法高亮: 基于 Pygments 自动生成语法高亮
  • 开放的扩展: 支持代码块的自动测试,并包含Python模块的自述文档(API docs)等

Sphinx 使用 reStructuredText 作为标记语言, 可以享有 Docutils 为reStructuredText提供的分析,转换等多种工具.

此为最新的Python文档

代码语言:javascript
复制
https://docs.python.org/zh-cn/3/

首先创建一个文件夹,为了避免污染环境

先看看目录

在pip

是否分离source和build目录(输入y,选择分离,方便管理)

欢迎使用Sphinx 3.3.0快速入门实用程序。

请输入以下设置的值(只需按Enter

接受默认值(如果在括号中给出)。

选定的根路径:。

您有两个选择来放置Sphinx输出的构建目录。

您可以在根路径中使用目录“ _build”,也可以单独使用

根路径中的“源”和“构建”目录。

有一些提示,自己摁

代码语言:javascript
复制
项目名称将在生成的文档中的多个位置出现。
>项目名称:yunswj
>作者姓名:yunswj
>项目发布[]:0.1

如果要用英语以外的其他语言写文件,
您可以在此处通过语言代码选择一种语言。狮身人面像
将其生成的文本翻译成该语言。

有关受支持代码的列表,请参见
https://www.sphinx-doc.org/zh-CN/master/usage/configuration.html#confval-language。
>项目语言[zh]:

创建文件C:\ Users \ yunswj \ Desktop \ Sphinx \ source \ conf.py。
创建文件C:\ Users \ yunswj \ Desktop \ Sphinx \ source \ index.rst。
创建文件C:\ Users \ yunswj \ Desktop \ Sphinx \ Makefile。
创建文件C:\ Users \ yunswj \ Desktop \ Sphinx \ make.bat。

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

现在,您应该填充主文件C:\ Users \ yunswj \ Desktop \ Sphinx \ source \ index.rst并创建其他文档
源文件。使用Makefile构建文档,如下所示:
   使建设者
其中“构建器”是受支持的构建器之一,例如html,latex或linkcheck。

项目名字

编辑者姓名

文档的版本号

项目语言,我这边选择默认了.回车就好

会生成这些文件.

这是生成的结构

  • build:用来存放通过make html生成文档网页文件的目录
  • source:存放用于生成文档的源文件
  • conf.py: Sphinx的配置文件
  • index.rst: 主文档
代码语言:javascript
复制
config.py的详细信息
https://www.sphinx-doc.org/en/master/usage/configuration.html

这个是配置文件可以看到是和我创建文件的时候的内容相符

代码语言:javascript
复制
https://www.sphinx-doc.org/en/master/usage/configuration.html

  • project
  • 记录的项目名称。
  • author
  • 文档的作者姓名。默认值为'unknown'
  • copyright
  • 风格的版权声明。'2008, Author Name'
  • version
  • 主要项目版本,用于替代|version|。例如,对于Python文档,这可能类似于2.6
  • release
  • 完整的项目版本,用于替换|release|HTML模板,例如在HTML模板中。例如,对于Python文档,这可能类似于2.6.0rc1

显示错误,很智能的提醒我用.\这种语法

可以输出的类型,有一些并不可以输出.缺少东西

.\make 文件类型

代码语言:javascript
复制
运行Sphinx v3.3.0
制作输出目录...完成
建立[mo]:过时的0个po文件的目标
建立[html]:过时的1个源文件的目标
更新环境:[新配置]添加了1个,更改了0个,删除了0个
阅读来源... [100%]索引
寻找过时的档案...找不到
酸洗环境...完成
检查一致性...完成
正在准备文件...完成
写输出... [100%]索引
生成索引... genindex完成
写其他页面...搜索完成
复制静态文件...完成
复制多余的文件...完成
用英语(代码:en)倾销搜索索引...完成
倾销对象清单...完成
建立成功。
HTML页面位于build \ html中。

编译过后的目录是这样的

里面有三个html文件,都打开看看

以上是打开的三个网页文档

那我写完就想自动预览文档,咋办?当然可以啦

这个是我的浏览器的位置,你如果也是chrome,可以直接复制我的地址

代码语言:javascript
复制
C:\Program Files\Google\Chrome\Application

把浏览器的目录加环境变量,自己找

在:end和popd中间加代码

代码语言:javascript
复制
:end

        REM ----------------------------------------------
        REM Added by Yunswj - Auto open build file
        REM ----------------------------------------------

        if "%1" == "html" (
        chrome build/html/index.html
        )

popd

改成这样

第一次报错

powershell还是不可以

用cmd打开正常,这个powershell其实更shell一些

此时,我们要看一眼托管以及用他家的主题

代码语言:javascript
复制
https://readthedocs.org/

我用Github登录了

就是一个托管平台,巴适的很

代码语言:javascript
复制
https://readthedocs.org/projects/yunswj-demo/

这些指令是生成自己的doc

这个是默认生成的doc

这个是源代码

云服务器编译,有点好用

详细设置

可以导入自己的文档(在线)

可以看到有很多详细的选项

代码语言:javascript
复制
https://readthedocs.org/dashboard/import/manual/?

可以这样用地址导入

代码语言:javascript
复制
https://github.com/readthedocs/template
代码语言:javascript
复制
pip install sphinx_rtd_theme

这里我也不托管,先搞一手主题

安装

成功

代码语言:javascript
复制
# for using Read the Docs theme
import sphinx_rtd_theme
代码语言:javascript
复制
# html_theme = 'sphinxdoc'
html_theme = 'sphinx_rtd_theme'

#html_theme_path = []
html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]

重新编译没有变化

为了可以自动预览,用cmd

还是主题未变,之后在解决

支持markdown文件、更改文档主题

Spinx本身不支持.md文件生成文档,需要我们使用第三方库recommonmark进行转换。首先分别运行下列命令安装recommonmark与sphinx_rtd_theme库。

代码语言:javascript
复制
pip install recommonmark

pip install sphinx_rtd_theme

安装好,在conf.py中修改下列两个配置:

代码语言:javascript
复制
source_suffix = ['.rst', '.md', '.MD']
html_theme = 'sphinx_rtd_theme'

并新增:

代码语言:javascript
复制
source_parsers = {
    '.md': CommonMarkParser,
    '.MD': CommonMarkParser,
}
代码语言:javascript
复制
https://sphinx-doc-zh.readthedocs.io/en/latest/tutorial.html

这篇已经很多了,下篇继续写

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云深之无迹 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 支持markdown文件、更改文档主题
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档