sphinx:基于 Python 的文档生成工具

Motivation

对于软件开发来说,文档是软件可维护性的重要保障。sphinx 是一款文档生成工具,以 restructuredText 为标记语言。更重点的是其 autodoc 插件支持从 Python docstring 生成文档,同一个模块、文件、类或者函数上进行说明,便于维护,并且非常 Pythonic

顺便一提,sphinx 取名于埃及的狮身人面像斯芬克斯。

安装

基础包可以通过以下两种方式之一安装

pip install -U sphinx
conda install sphinx

安装完成后校验是否安装成功

 sphinx-build --version

优选地,安装 sphinx-reload 以实现监听文件变化并自动刷新 html 页面。

pip install sphinx-reload

使用

sphinx 软件包提供了一系列以 sphinx- 为前缀的命令行工具。对于项目初始化,我们需要使用 sphinx-quickstart

首先切换到项目目录,然后

sphinx-quickstart docs

会提问几个问题,当前版本 5.0.2 主要问这几个问题:

  • Separate source and build directories(如果选 ydocs 下会有两个文件夹 sourcebuild;如果选 ndocs 下是文档的根目录,编译后文件放在 _build 中。
  • Project name
  • Author name(s)
  • Project release
  • Project language(自然语言)

按实际情况回答即可。

配置

配置主要在 conf.py

import os
import sys
sys.path.insert(0, os.path.abspath('../../'))project = 'Project'
copyright = '2023, Ruiming Guo'
author = 'Ruiming Guo'extensions = ["sphinx.ext.autodoc", # 重点,自动生成"sphinx.ext.doctest","sphinx.ext.coverage","sphinx.ext.viewcode",'sphinx.ext.mathjax',
]autodoc_default_options = {'members': True,'member-order': 'bysource','special-members': '__init__','undoc-members': True,'exclude-members': '__weakref__'
}templates_path = ['_templates']
exclude_patterns = []
html_theme = 'alabaster'
html_static_path = ['_static']
source_suffix = [".rst"]

运行

配置 autodoc 后,sphinx-reload 只会监听 docs/ 下的文件,如果要监听 python 文件中 docstring 的变化,需要

sphinx-reload . --watch ../**/*.py

编译

make html
make latex

sphinx:基于 Python 的文档生成工具相关推荐

  1. python doc_Python文档生成工具pydoc使用介绍

    在Python中有很多很好的工具来生成字符串文档(docstring),比如说: epydoc.doxygen.sphinx,但始终觉得pydoc还是不错的工具,用法非常简单,功能也算不错,本文主要介 ...

  2. 关于深度学习框架Hamaa与Python API文档生成工具Sophon

    五月两场 | NVIDIA DLI 深度学习入门课程 5月19日/5月26日一天密集式学习  快速带你入门阅读全文> 正文共1988个字,预计阅读时间12分钟. 前言 最近三个月我主要花时间在造 ...

  3. python文档生成_python文档生成工具:pydoc、sphinx;django如何使用sphinx?

    文档生成工具: 自带的pydoc,比较差 建议使用sphinx 安装: pip install sphinx 安装主题: 由各种主题,我选择常用的sphinx_rtd_theme pip instal ...

  4. java 接口文档工具_一款Java基于注释的接口文档生成工具

    一. 痛点 你还在手动维护接口文档嘛,花一个下午不停的复制粘贴代码里面的注释 接口字段变动,还得去更新文档,更新不及时导致文档不同步 或者你使用了swagger之类的基于注解,依靠运行时的文档工具,看 ...

  5. 基于文档注释接口文档生成工具(代码0侵入附源码)

    本文主要分享一个基于个人兴趣,旨在提高工作效率,开发了一个基于文档注释,接口文档生成工具,欢迎大佬指点. 源码以及使用demo地址 :传送门 1.前置介绍 1.1前世 现在大多数项目都走向了前后端分离 ...

  6. mysql 文档生成器_最好用的数据库文档生成工具

    一 前言 本文介绍一些比较流行的数据库文档生成工具,什么是数据库文档? 其实在工作中进行项目交付的时候经常用到:简单来说数据库文档就是对整个数据库设计说明的文档,比如使用了哪个数据库,每张表的字段,类 ...

  7. Apiggs —— 非侵入性的 RestDoc 文档生成工具

    程序员一直以来都有一个烦恼,只想写代码,不想写文档.代码就表达了我的思想和灵魂. Python提出了一个方案,叫docstring,来试图解决这个问题.即编写代码,同时也能写出文档,保持代码和文档的一 ...

  8. .NET平台开源项目速览(4).NET文档生成工具ADB及使用

    .NET平台开源项目速览(4).NET文档生成工具ADB及使用 原文:.NET平台开源项目速览(4).NET文档生成工具ADB及使用 很久以前就使用ADB这个工具来生成项目的帮助文档.功能强大,在学习 ...

  9. Doxygen自动文档生成工具在Eclipse中的集成及使用举例

    你有为软件编写说明文档的苦恼吗?当别人甩给你一个庞大的系统,让你根据里面的代码注释理解后写出一份完整的开发文档,你会怎么办?一个个的看代码 然后耗时N天来写吗?这既是一份苦差事也极其耗时,有没有更好的 ...

最新文章

  1. 告别痛苦,快乐学习Pandas!开源教程《Joyful-Pandas》发布
  2. [architecture]-ARMV8的The current Program Counter (PC)介绍
  3. 分享成功 用心经营就会结出果实(转)
  4. [SOJ] DAG?
  5. 如果要用thinkphp框架_php需要改哪些配置,thinkPHP框架动态配置用法实例分析
  6. redis配置主从没效果_跟我一起学Redis之加个哨兵让主从复制更加高可用
  7. Python遍历文件夹获取文件名并写入excel
  8. OAuth 2.0 in Web API #Reprinted
  9. 为PHP开发搭建环境
  10. xuperchain 查看源码代码版本号
  11. 1230v3配服务器内存性能提升,E3 1230 V3四核3.7G睿频福利教程及评测
  12. 2021大学生搭建阿里云服务器+域名申请流程--教程
  13. GRE词汇会难记到什么程度
  14. html图片幻灯片效果,使用CSS3实现的超酷幻灯图片效果
  15. 【python 监控报警】python自动发钉钉机器人报警
  16. Epicor 客制化 - 常用对象
  17. Volatility3内存取证工具使用详解
  18. U盘数据恢复的实现?
  19. Kotlin开发利器之协程
  20. I/Q信号解调分析过程

热门文章

  1. NLTK学习笔记(一)
  2. Python 竟然不是最赚钱的编程语言?!
  3. android 放大平铺图片
  4. 记录各个七七八八的输入 持续更新中
  5. Java训练work3.Exer4---学生成绩
  6. cisco pkt 路由器配置基础及接口配置 路由协议与交换技术
  7. 球面图绘制函数-sphere
  8. springboot集成rabbitmq商品秒杀业务实战(流量削峰)
  9. 从输入 url 到页面展示到底发生了什么
  10. 推荐10款设计软件,全是设计大牛收藏夹里的