常见问题

如何使用内联语法高亮?

语法高亮我们应该非常熟悉了,就是使用 .. code-block:: 指令,但是如何在文本之中使用语法高亮呢?具体做法 参见 code角色

如何使指令全局可用?

参见 rst_prolog配置

如何写符合规范的docstring?另外,为什么不同包的docstring看起来好像有所不同?

参见 napoleon插件

如何查看当前所有可用的target?

可以使用命令 python -m sphinx.ext.intersphinx https://docs.readthedocs.io/en/stable/objects.inv , 查看项目所有可用的target。

objects.inv也可以是本地文件,一般在docs/build/html目录下。

某个函数或模块的reference太长了,有没有什么快捷的写法?

比如想要链接到 Queue 模块的 get 方法,正常写是这样: :py:meth:`queue.Queue.get` ,渲染 出来是 queue.Queue.get() , 如果渲染结果只想显示 get ,则可以在前面加 ~ 号,写成 :py:meth:`~queue.Queue.get` ,渲染出来就是: get()

虽然最终显示的结果变短了,但是写的时候还是要写完整的路径。如果是自己的项目文档,此时可以在前面加 . ,比如前面的 例子,可以写成 :py:meth:`.get`~. 可以同时使用,写成 :py:meth:`~.get`

注意

只有自己的项目可以使用 . 简化,使用intersphinx引用的外部项目还是要写完整路径