【Python】Sphinx 文档生成器

news/2024/7/19 16:53:15 标签: sphinx, 全文检索, 搜索引擎

目录

1. Sphinx 介绍

2. Sphinx 实战

2.1. 初始化 Sphinx 工程

2.2. 编译项目

2.3. Sphinx 主题

2.4. 增加 Sphinx 文档


1. Sphinx 介绍

Sphinx是一个Python文档生成器,它基于reStructuredText标记语言,可自动根据项目生成HTML,PDF等格式的文档。Sphinx可以令人轻松的撰写出清晰且优美的文档,除了天然支持Python项目以外,Sphinx对C/C++项目也有很好的支持,并在不断增加对其它开发语言的支持 。

如果您需要编写技术文档,可以用reStructuredText或Markdown格式编辑文件,然后使用Sphinx工具转换成html、PDF、ePub等格式,或者托管到GitHub并导入ReadtheDocs网站 。

2. Sphinx 实战

2.1. 初始化 Sphinx 工程

  • 创建项目目录
mkdir sphinx-doc
cd sphinx-doc
  • 初始化命令
sphinx-quickstart
  • 命令输出结果

  • 项目文件结构
│  make.bat
│  Makefile
├─build
└─source
    │  conf.py
    │  index.rst
    ├─_static
    └─_templates

2.2. 编译项目

  • 编译为本地文件
make html

build 目录下生成如下文件

│  make.bat
│  Makefile
├─build
│  ├─doctrees
│  │      environment.pickle
│  │      index.doctree
│  └─html
│      │  .buildinfo
│      │  genindex.html
│      │  index.html  # 这个文件可直接用浏览器打开
│      │  objects.inv
│      │  search.html
│      │  searchindex.js
│      │
│      ├─_sources
│      │      index.rst.txt
│      │
│      └─_static
│              alabaster.css
│              basic.css
│              custom.css
│              doctools.js
│              documentation_options.js
│              file.png
│              jquery-3.5.1.js
│              jquery.js
│              language_data.js
│              minus.png
│              plus.png
│              pygments.css
│              searchtools.js
│              translations.js
│              underscore-1.13.1.js
│              underscore.js
└─source
    │  conf.py
    │  index.rst
    ├─_static
    └─_templates

用浏览器打开 build\html\index.rst 可以看到

  • 编译为 HTTP 服务

make html 的编译方式需要打开 html 文件才能查看,使用如下命令则可以使用 HTTP 服务的形式来查看。

sphinx-autobuild source build/html

命令执行结果为

 可以通过 http://127.0.0.1:8000/ 查看。

2.3. Sphinx 主题

Sphinx 模型主题是 alabaster,可以通过 https://sphinx-themes.org/ 查看 sphinx 更多的主题。

 接下来切换一个比较明显的主题 groundwork-sphinx-theme,打开 source/conf.py 做如下修改

# html_theme = 'alabaster'
html_theme = 'groundwork'

2.4. 增加 Sphinx 文档

  • 新的项目文件结构如下
│  make.bat
│  Makefile
└─source
    │  conf.py
    │  index.rst
    ├─_static
    ├─_templates
    └─文章
        │  index.rst
        ├─第一章
        │      index.rst
        └─第二章
                index.rst

预览结果如下:

3. 项目源码

https://gitee.com/hl0929/sphinx-doc.git


http://www.niftyadmin.cn/n/1725693.html

相关文章

BZOJ1035: [ZJOI2008]Risk(最小左转法+点定位)

传送门 题意: 给一个平面图和图上的一些点,问这些点与哪些点在相邻的区域。 题解: 首先用最小左转法确定每一条线左边的区域。 接下来用扫描线做最小点定位。 最后统计在相邻区域的点对即可。 有一个比较难处理的地方是区域相互包含&a…

X11 Xlib截屏问题及深入分析三 —— 源码实现2

接上一篇文章《X11 Xlib截屏问题及深入分析二 —— 源码实现》,链接为: X11 Xlib截屏问题及深入分析二 —— 源码实现1_蓝天居士的博客-CSDN博客 前一篇文章列出了XOpenDisplay和XCloseDisplay函数的源码,本篇列出其余几个函数的源码实现。…

NB-IOT 移远BC35设置频点学习记录

移远BC35设置频点 ATCSQ查询到信号值只是一个广义的参考,要查询真实的信号质量可以通过查询模块状态信息(类似于手机桌面信号强弱标志只是一个大致参考,实际信号强度可以查看SIM卡参数信息) 信号强度查询 ATNUESTATUS Signal p…

abp angular 和mvc_[译]ABP框架使用AngularJs,ASP.NET MVC,Web API和EntityFramework构建N层架构的SPA应用程序...

本文演示ABP框架如何使用AngularJs,ASP.NET MVC,Web API 和EntityFramework构建基于N层架构的多语言SPA应用程序演示程序截图如上所示.内容摘要介绍在这篇文章, 我将基于以下框架演示如何开发单页面的(SPA) 应用程序 :ASP.NET MVC 和 ASP.NET Web API – web站点的基础框架.Ang…

X11 Xlib截屏问题及深入分析四 —— XOpenDisplay函数源码分析(1)

XOpenDisplay函数对应的源码在src/OpenDis.c中。完整源码请参见: X11 Xlib截屏问题及深入分析二 —— 源码实现1_蓝天居士的博客-CSDN博客 XOpenDisplay函数很长,有500行左右。在此为了便于分析,列出函数名和前边变量定义的部分。代码如下&…

BZOJ1137:[POI2009]Wsp 岛屿(半平面交)

传送门 Byteotia岛屿是一个凸多边形。城市全都在海岸上。按顺时针编号1到n。任意两个城市之间都有一条笔直的道路相连。道路相交处可以自由穿行。有一些道路被游击队控制了,不能走,但是可以经过这条道路与未被控制的道路的交点。问从城市1到n的最短距离。…

NB-IOT 设备在IOT平台注册过程学习记录

在IOT平台注册设备,携带PSK和IMEI(PSK是为加密设备使用的) 在平台设备注册后,设备就会添加到设备列表中,设备状态为离线状态 设备上电入网成功后(设备入网过程参考:BC95手动入网和自动入网&…

X11 Xlib截屏问题及深入分析五 —— XOpenDisplay函数源码分析(2)

接上一篇文章《X11 Xlib截屏问题及深入分析四 —— XOpenDisplay函数源码分析(1)》,链接如下: X11 Xlib截屏问题及深入分析四 —— XOpenDisplay函数源码分析(1)_蓝天居士的博客-CSDN博客 前一篇文章讲解…